Javascript 从服务器加载数据后,如何监视VueJS中的数据更改?
加载my Vue组件时,它会从服务器获取一些数据并将其放入组件数据中:Javascript 从服务器加载数据后,如何监视VueJS中的数据更改?,javascript,vue.js,watch,Javascript,Vue.js,Watch,加载my Vue组件时,它会从服务器获取一些数据并将其放入组件数据中: data: function(){ return { data: null, dataChanged: false, } }, created: function(){ // fetch data from server this.data = server_data } 现在我想观察它的变化,并在变化时设置booldataChanged: wa
data: function(){
return {
data: null,
dataChanged: false,
}
},
created: function(){
// fetch data from server
this.data = server_data
}
现在我想观察它的变化,并在变化时设置booldataChanged
:
watch: {
data: function(oldVal, newVal) {
this.dataChanged = true
}
}
问题是,当数据最初加载到创建的中时,它也会触发监视程序
如何在初始化后观察更改
我尝试在初始化后立即将datachange
重置为false
,但无效:
created: function(){
// fetch data from server
this.data = server_data
this.dataChanged = false
}
如果data
的值为null
则为false,您可以尝试
观察:{
数据:函数(oldVal、newVal){
如果(this.data==null)this.dataChanged=false
否则,this.dataChanged=true
}
}
您可以像这样在watcher中更改dataChanged
watch: {
data(newValue, oldValue) {
if(oldValue !== newValue)
this.dataChanged = true;
else
this.dataChanged = false;
}
}