所謂“千里之行,始於足下;騏驥一躍,不能十步;駑馬十駕,功在不捨”,今天我準備從最簡單的步驟開始手寫一個簡易版的Vue
所用設計模式MVVM。
首先來來熟悉下 Object.defineProperty 這個api的使用,詳細請自行MDN查閱
var obj = {}
Object.defineProperty(obj, 'test', {
configurable: true, // 可配置性
writable: true, // 屬性可修改
enumerable: true, // 屬性可枚舉
value: 'yanglong'
})
// delete obj.test
// obj.test = 1
console.log(obj)
for(let key in obj){
console.log(key)
}
var obj = {
}
let val = null
Object.defineProperty(obj, 'test', {
configurable: true, // 可配置性
enumerable: true, // 屬性可枚舉
get() {
console.log('get')
return val
},
set(newVal) {
console.log('set')
val = newVal
}
})
obj.test = 'Mis.Yang'
console.log(obj) // {test: 'Mis.Yang'}