Вы пытались сделать это:
<component v-if="page.isDataLoaded">...</component>
в вашем Vue-компоненте:
data() {
return {
page: {
isDataLoaded: false,
}
}
},
mounted() {
this.fetchPageData().then(() => this.page.isDataLoaded = true);
}
Вы можете использовать v-if
и v-else
, чтобы показать, например, загрузчик страниц Элемент так:
<PageLoader v-if="!page.isDataLoaded"></PageLoader>
<component v-else>...</component>
После изменения значения можно запустить событие сами, и таким образом называющий все 'onchange' обработчики.
jQuery('#element').change();
Изменение значения непосредственно в JS не сцепляется ни во что, к чему jQuery может прислушаться для инициирования события изменения. Как Sander говорит, можно запустить обработчик событий сами. Если Вы не управляете другим кодом, изменяющим эти значения, и это не опция, Вам довольно не повезло. Единственная другая опция, которая могла бы работать, будет состоять в том, чтобы сделать, чтобы наблюдатель наблюдал значение через определенный интервал с помощью setTimeout
, который действительно грязен и вероятно не хорошая идея.