目前model、view、viewmodel、表达式(expression)、过滤器(filter)、指令集(directive) 已全线测通。
model 和 view 都构造了树形结构进行管理,每个element对应一个view,每个数据对象(数组和对象)对应一个model。
每个model可以绑定多个view。
一些核心点问题解决:
1. 过滤器解析: 多个过滤器用 | 分隔,过滤器参数用 : 分隔,当过滤器参数中包含 : 时的处理情况,先replace 置标志位,再split,再replace回去。
2. 表达式解析存在同样的问题。
3. 对象属性的setter 和 getter,这个可以用defineProperty 来实现 属性改变的触发。比较难的是数组改变的触发,首先需要用
Array.prototype[type].apply(arr,arguments)方式进行常规调用,然后根据type(push, pop, shift, unshift, reverse, splice, sort),处理数组model的对应操作。
最近1周计划完成加载(require) 和 模块(module),模块主要补充通信机制。