在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ Vue值傳遞取消數(shù)據(jù)綁定

Vue值傳遞取消數(shù)據(jù)綁定

有一個app,如下:

var app = new Vue({
    el:'#app',
    data:{
        name:'zhangsan'
    }
});

var d = app.data;
d.name = 'lisi' //如何讓這兒更改不影響app.data中的數(shù)據(jù)?
回答
編輯回答
涼薄

Vue數(shù)據(jù)響應式的原理是 Object.defineProperty 用get和set劫持其他人對 對象屬性的訪問
然后vue自己寫的set里面,實現(xiàn)了(ˇ?ˇ) 想向所有需要這個屬性的對象,發(fā)送這個屬性最新的值
只要修改了 屬性的值 就會調用 set 方法,然后其他對象就知道數(shù)據(jù)改變,然后重新渲染

相關代碼

var a = {
    n: 12,
    m: 'asd'
}
Object.defineProperty(a, 'm', {
    get: function(){
        console.log('觸發(fā)了 getter');
        return 'asd';
    },
    set: function(value){
        console.log('觸發(fā)了 setter');
        m = value;
    }
});
2017年11月26日 07:29
編輯回答
笨尐豬

深考貝,
JSON.parse(JSON.stringify(app.data));

2017年9月21日 23:03