Vue.watch功能的使用及如何实现数据监听

2024年06月18日 建站教程

在Vue中,数据监控是通过Object.defineProperty方法实现的。Vue通过劫持数据的gettersetter在内部监控和更新数据。

具体示例如下:

function watch(obj, key, callback) {
  var value = obj[key];
  Object.defineProperty(obj, key, {
    get: function() {
      return value;
    },
    set: function(newVal) {
      var oldVal = value;
      value = newVal;
      callback(newVal, oldVal);
    }
  });
}
 
var data = {
  message: 'Hello, Vue!'
};
 
watch(data, 'message', function(newVal, oldVal) {
  console.log('数据发生了变化:', newVal, oldVal);
});

本文链接:http://so.lmcjl.com/news/6807/

展开阅读全文
相关内容