Javascript 如何使用vue js检查组件中的数据是否自行更改?
我有一种改变数据本身的方法,简单的例子是:Javascript 如何使用vue js检查组件中的数据是否自行更改?,javascript,methods,vue.js,components,Javascript,Methods,Vue.js,Components,我有一种改变数据本身的方法,简单的例子是: Vue.component('component', { template: '#component', data: function () { return { dataToBeWatched: '' } }, methods: { change: function (e) { var that = this; setTimeOut(function() {
Vue.component('component', {
template: '#component',
data: function () {
return {
dataToBeWatched: ''
}
},
methods: {
change: function (e) {
var that = this;
setTimeOut(function() {
that.dataToBeWatched = 'data changed';
}, 2000);
},
makeSmthWhenDataChanged: function () {
// ajax request when dataToBeWatched changed or when dataToBeWatched isn't empty
}
}
});
如何使用vue js的正确方法创建这样的观察者?
或者我需要使用道具在组件中观察它?Vue组件可以具有作为对象的
watch
属性。对象键需要是需要监视的道具或数据的名称,值是数据更改时调用的函数
非常感谢,我知道这应该很简单!
Vue.component('component', {
template: '#component',
data: function () {
return {
dataToBeWatched: ''
}
},
methods: {
change: function (e) {
var that = this;
setTimeOut(function() {
that.dataToBeWatched = 'data changed';
}, 2000);
},
makeSmthWhenDataChanged: function () {
// ajax request when dataToBeWatched changed or when dataToBeWatched isn't empty
}
},
watch: {
dataToBeWatched: function(val) {
//do something when the data changes.
if (val) {
this.makeSmthWhenDataChanged();
}
}
}
});