标签:model javascript mvvm 双向数据绑定
之前我们要在js域更新model,需要这样:
model.set(‘name‘, ‘sub‘);
这实在太土了。。。
我们希望像angularjs一样,直接:
$scope.name = ‘sub‘;
然后bong, 视图就会更新!这样的黑科技必定是极好的。
今次主要借鉴avalon“劫持”setter,getter的方法,链接:avalon简化版解读
虽说是简化过的avalon,还是挺难读的。
整理下思路,主要两大点:
1. vm对象 –> vModel对象,劫持vm各个属性的set,get方法
2. scanTag() –> 遍历dom树找关键字,去vModel找求值函数,注册到订阅者列表
其中去vModel这一点不是很清楚,这几天一定要搞清,自己mock一个出来
非常简单的js双向数据绑定框架(三):js model黑科技
标签:model javascript mvvm 双向数据绑定
原文地址:http://blog.csdn.net/vctisildur/article/details/46454755