亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

受現代 Javascript 的限制,Vue 不能檢測到對象屬性的添加或刪除。

受現代 Javascript 的限制,Vue 不能檢測到對象屬性的添加或刪除。

米脂 2018-10-12 14:10:24
原文vue文檔深入響應式原理一章關于變化檢測問題中的這句話什么意思,具體是js的什么限制?
查看完整描述

1 回答

?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

ECMAScript中有兩種屬性:數據屬性和訪問器屬性;
數據屬性的描述符為:Configurable,Enumerable,Writable,Value;
訪問器屬性的描述符為:Configurable, Enumerable,set,get。

當我們使用new Vue(obj),其內部發生了大體如下代碼的轉換,即將數據屬性,轉換為了訪問器屬性

function Vue(obj){
    obj.data.keys().forEach((prop, index) => {      Object.defineProperty(obj.data, prop, {
        set(){          //可以在此處進行事件監聽
        },
        get(){
    
        }
      })
    })    return obj;
 }

但是當我們后面再次使用普通的賦值,僅僅是賦值了一個數據屬性的,這個屬性是不會具有訪問器屬性的事件監聽功能的。


查看完整回答
反對 回復 2018-11-16
  • 1 回答
  • 0 關注
  • 1140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號