day109-ts实现mvvm-笔记(2)

前言

数组的依赖收集???


代码

import Dep from "../../2019-04/30/vuejs/dep";

// 上文2019-04-30-vuejs
// 数组的依赖收集
function defineReactive(obj: any, key: string, val?: any) {
// ...
if (Dep.target) {
dep.depend()
if (childOb) {
childOb.dep.depend()
if (Array.isArray(value)) {
dependArray(value)
}
}
}
// ...
}

function dependArray (value: any[]) {
for (let e, i = 0, l = value.length; i < l; i++) {
e = value[i]
// 多维数组??
e && e.__ob__ && e.__ob__.dep.depend()
if (Array.isArray(e)) {
dependArray(e)
}
}
}
文章作者: lmislm
文章链接: http://lmislm.com/2019/05/01/2019-05-01/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LMISLMのBlog