javascript - 从服务器加载数据后如何观察 VueJS 中的数据变化?
问题描述
当我的 Vue 组件被加载时,它会从服务器获取一些数据并将其放入组件数据中:
data: function(){
return {
data: null,
dataChanged: false,
}
},
created: function(){
// fetch data from server
this.data = server_data
}
现在我想观察它的变化,并在它发生变化dataChanged
时设置一个布尔值:
watch: {
data: function(oldVal, newVal) {
this.dataChanged = true
}
}
问题是,当最初加载数据时created
,它也会触发观察者。
初始化后如何观察变化?
我试过在初始化后重新设置dataChanged
,false
它不起作用:
created: function(){
// fetch data from server
this.data = server_data
this.dataChanged = false
}
解决方案
你可以试试如果的值data
是null
那么它是假的;
watch: {
data: function(oldVal, newVal) {
if (this.data == null) this.dataChanged = false
else this.dataChanged = true
}
}
推荐阅读
- django-rest-framework - 在 Django-Rest-Framework 中使用带有 OneToOneField 的 HyperlinkedModelSerializer 的最佳方法是什么?
- c# - DataAnnotations 根据选择应用两个正则表达式之一
- r - 将 XTS 上的 Apply.monthly 应用于非零列
- java - launch.json 参数的文档在哪里
- javascript - 如何从 JavaScript 中的 Map 对象获取特定键
- python - 将渲染的 Holoview 绘图添加到交互式 Bokeh APP
- powerbi - Expression.Error:找不到表的“金额”列
- git - 连续撤消多个 Git 提交但保留所有更改
- python - 重力矢量的三角加速度计 Z 角(法线矢量到 XY 平面)
- linux - 如何从 Bash 脚本中列出目标 PID 的曾孙 PID?