赞
踩
Vue中的响应式是指,data()中的数据一旦发生了改变,页面就会自动进行相应的改变,给予用户一个网页在随着用户操作进行“响应式”更新的感受。
所以需要解决的就是,如何监听到数据的改变呢?因为这样在能在数据改变的一瞬间去做出一些更新页面的操作呀,答案就是用Object.defineProperty()来解决。
Object.defineProperty()是JavaScript中提供的一个接口,用来给一个对象新增一个属性并定义属性描述符,或是对对象的一个已有属性更改值、定义属性描述符,可以接收“对象,属性名,属性描述符”三个参数。Object.defineProperty()的官网讲解
以下面代码为例:
【下面代码的目的在于,如何让data这个对象中属性的修改被监听到,即如何把data变为响应式的】
const data = {
};
let name = 'Origin Name';
Object.defineProperty(data, 'name', {
get: function() {
console.log('get: 已监听到data的name属性被访问');
// 返回name值
return name;
},
set: function(newName
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。