Slide 34
Slide 34 text
なぜこれでリアクティブにならなくなるか
defineReactice
を呼び出すObserverのコンストラクタ
export class Observer {
dep: Dep
vmCount: number // number of vms that have this object as root $data
constructor(public value: any, public shallow = false, public mock = false) {
//
省略
if (isArray(value)) {
//
省略
} else {
//
省略
const keys = Object.keys(value)
for (let i = 0; i < keys.length; i++) {
const key = keys[i]
defineReactive(value, key, NO_INIITIAL_VALUE, undefined, shallow, mock) // defineReactive
を呼び出している
}
}
}
}
https://github.com/vuejs/vue/blob/ee57d9fd1d51abe245c6c37e6f8f2d45977b929e/src/
core/observer/index.ts#L83
34