Просто быстрый вопрос.Можете ли вы заставить Vue.js перезагружать/повторно отображать?
Можете ли вы заставить Vue.js перезагрузить/пересчитать все? Если да, то как?
Просто быстрый вопрос.Можете ли вы заставить Vue.js перезагружать/повторно отображать?
Можете ли вы заставить Vue.js перезагрузить/пересчитать все? Если да, то как?
Попробуйте это магическое заклинание:
vm.$forceUpdate();
Нет необходимости создавать какие-либо висит вары :)
Update: Я нашел это решение, когда я только начал работать с VueJS. Однако дальнейшая разведка доказала этот подход как костыль. Насколько я помню, через некоторое время я избавился от него, просто поместив все свойства, которые не смогли автоматически обновиться (в основном вложенные) в вычисленные свойства.
Больше информации здесь: https://vuejs.org/v2/guide/computed.html
, это действительно помогло мне, когда я использовал его с компонентом мастера формы в Vue. Мои поля полей формы теряли состояние, хотя переменные данных были неповрежденными.Теперь я использую это, чтобы обновить представления, когда возвращаюсь, мне пришлось поместить его в функцию setTimeout. –
Использование vm.$set('varName', value)
. Ищите детали в Change_Detection_Caveats.
Я нашел способ. Это немного хаки, но работает.
vm.$set("x",0);
vm.$delete("x");
Где vm
Ваш объект вид-модель, и x
является несуществующей переменной.
Vue.js будет жаловаться на это в журнале консоли, но он вызывает обновление для всех данных. Протестировано с версией 1.0.26.
Это кажется довольно чистым раствором из matthiasg на this issue:
вы также можете использовать
:key="someVariableUnderYourControl"
и изменить ключ, если вы хотите, чтобы компонент будет полностью восстановлен
Для моего случая использования я кормил геттер Vuex в компонент в качестве опоры. Каким-то образом Vuex будет получать данные, но реактивность не будет надежно удалена, чтобы перегрузить компонент. В моем случае, установив компонент key
на некоторый атрибут на prop, гарантированное обновление, когда геттеры (и атрибут) окончательно разрешены.
с помощью v-если директива
<div v-if="trulyvalue">
<component-here />
</div>
Так, просто изменив значение trulyvalue от ложного к истине будет вызывать компонент между делами до засавить снова
может получить лучшую поддержку здесь https: // github.com/vuejs/Discussion/issues –
Отлично, не знал об этом месте обсуждения. Я попробую там. – Dave
Вы получили ответ? Я тоже хочу знать. – Oddman