Vue.js事件,以便在数据更新后激发
Vue.js event to fire after data is updated
我有一个Vue.js应用程序,我有几个组件,只是为了处理一些重复的任务。
我还从AJAX请求中获取数据。
我想输入的是,在Vue数据(treeData
和flatTreeData
)更新并执行操作后,是否有事件触发,以便我可以执行任何其他操作?
var app = new Vue({
el: 'body',
data: {
treeData: {items: {}},
flatTreeData: [],
},
});
$.getJSON('./paths.json').done(function(data) {
// apply the file structure to the vue app
demo.treeData = data;
demo.flatTreeData = flattenTree(data);
});
您可以使用Vue实例的watch
属性向变量更改添加侦听器:http://vuejs.org/api/#watch
watch: {
'treeData': function (val, oldVal) {
console.log('new: %s, old: %s', val, oldVal)
}
}
如果要对treeData
这样的对象执行watch
,则可能需要使用deep
标志来监视整个对象树。
watch: {
'treeData': {
handler:function (val, oldVal){
console.log('new: %s, old: %s', val, oldVal)
},
deep: true
}
}
我会在这里使用computed
属性。
你可以做:
{
data: {
treeData: {}
},
computed: {
flatTreeData: function () {
return flattenTree(this.treeData);
}
}
}
现在,每次更新treeData
时,flatTreeData
也会更新。
相关文章:
- 更新数据,而不是用javascript和jquery将其添加到我的表中
- JQGrid使用服务器编辑后的更新数据刷新数据
- 使用odata 4的jaydata 1.5和保存/更新数据时的错误
- 使用引导时间选取器时,没有更新数据ng模型值
- AngularJS中超时后没有更新数据
- jQuery动态更新数据键和值
- 在简单的可重用 D3 图表中更新数据
- Node/Express 无法正确更新数据模型
- 如何在jQuery中的单个保存按钮上更新数据和添加数据
- 如何使用Jquery更新数据确认属性中的消息
- 更新数据后保留D3图的位置
- 使用$watch更新数据,ng重复不反映更改
- 在OpenCart中,我们如何实时更新数据
- 表单在每个页面中 - 仅在特定页面上处理它 - 如果当前不在页面上 - 重定向 - 否则 - 使用 AJAX 更新数据
- 调整窗口大小时更新数据属性
- Firebase赢得't更新数据
- Rails和jQuery-尝试使用setTimeout主动更新数据
- Lawnchair.js未更新数据
- 更新数据时的React.js生命周期
- enter() 和 exit() 如何检测 D3 中的更新数据