Comment puis-je utiliser une propriété calculée dans les données ou l’émettre via le bus?
J'ai l'instance vue vue suivante, mais myComputed est toujours indéfini mais computedData fonctionne correctement.
var vm = new Vue({
data(){
return{
myComputed: this.computedData
}
},
computed: {
computedData(){
return 'Hello World'
}
}
})
Malheureusement, il est impossible d'utiliser la propriété calculée dans les données en raison du calendrier de création du composant: les données évaluent les propriétés calculées avant.
Pour rendre les choses aussi simples que possible, faites simplement le travail dans watcher, à moins que vous ne vouliez émettre les modifications sur différents composants ou qu'il y ait beaucoup de variables que vous souhaitez notifier, alors vous devrez peut-être utiliser Vuex ou le bus d'événements:
var vm = new Vue({
data(){
return{
myComputed: '',
computedData: 'Hello World'
}
},
created() {
this.myComputed = this.computedData;
},
watch: {
computedData() {
this.myComputed = this.computedData;
}
}
});
Calculé est déjà accessible dans le modèle à l'aide de {{}}.
Mais vous pouvez utiliser le
watch:{
//your function here
}
au lieu de calculé