Javascript 从服务器加载数据后,如何监视VueJS中的数据更改?

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

加载my Vue组件时,它会从服务器获取一些数据并将其放入组件数据中:

 data: function(){
    return {
        data: null,
        dataChanged: false,
    }
 },
 created: function(){
     // fetch data from server
      this.data = server_data
 }
现在我想观察它的变化,并在变化时设置bool
dataChanged

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; 
 }
}