深刻淺出vue原理(1、Object.defineProperty)

vue原理系列

vue原理一vue

vue原理二瀏覽器

vue原理三bash

vue原理四post

MVVM是什麼?特色是什麼?

是雙向數據綁定,數據影響視圖,視圖影響數據ui

怎麼實現一個MVVM?

對比ng,(髒值檢測) vue是數據劫持+發佈訂閱 不兼容低版本瀏覽器 Object.defineProperty(對象定義屬性)spa

let obj = {}
Object.defineProperty(obj,'objKey',{
    value:'objVal'
})
複製代碼

delete刪除刪不掉是由於configurable默認是false,要配置true 也不能改由於writable默認是false,要改爲true才能改code

for(let key in obj){
    console.log(key)
}
複製代碼

不能遍歷是由於enumerable是false,不可枚舉,要改爲true 有get、set會報錯,要用get、set代替writable和value屬性 獲取objKey是會調用get方法對象

get(){
    return 'val'
}
複製代碼

賦值school是會調用set方法 set方法有個value參數get

set(val){
    console.log(val)
}
複製代碼
相關文章
相關標籤/搜索