|
楼主 |
发表于 2022-9-19 22:10:17
|
显示全部楼层
通过遍历数组获取数组的每一项, 当做参数传递给 observe(item), observe 是响应式入口, observe 对当做参数传递的进来的值进行过滤, 终加入到响应式系统.
- var Observer = function Observer(value) {
- ...
- /* 对数组进行处理 */
- if (Array.isArray(value)) {
- /*对__proto__进行兼容处理*/
- if (hasProto) {
- protoAugment(value, arrayMethods);
- } else {
- copyAugment(value, arrayMethods, arrayKeys);
- }
- this.observeArray(value);
- } else {
- /* 对象的处理 */
- this.walk(value);
- }
- };
- /**
- * Observe a list of Array items.
- */
- Observer.prototype.observeArray = function observeArray(items) {
- /* 对数组进行遍历, 将每一项传入observe函数中 */
- for (var i = 0, l = items.length; i < l; i++) {
- /* 数组的每一项遍历出来, 当做参数传递给observe, observe 是响应式入口,讲数组的每一项加入到响应式系统*/
- observe(items[i]);
- }
- };
复制代码 |
|