首先感谢楼主的认真回复。
楼主提到了三个例子都是专做MV*库 其中也包含了模版引擎。
不知道楼主是否也借鉴了几个专做的template的库 (mustache handlebars等)其中有些倡导的是logic less的原则 (the less the more) 他们的原生就不支持这些关键字(parent top)但提供了接口 用户可以自己注册自定义方法
希望这能给楼主一些启发。
另外我之前也看了一篇linkedin当初是如何从茫茫模版引擎(10多种主流)中选择了他们现用的 文章,其中有些考虑和智慧 对设计楼主的库 应该也能有所帮助 (链接我回去找找)
另关于楼主提到的特点我不敢苟同。我不觉得学习其他的模版引擎有什么代价(个人观点)
属性绑定 视图绑定 不太清楚具体这些库实现的区别所在 有待我之后学习
最近支持楼主继续开发,早日开放1.0版本 同时期待更好的documentation
在 2013年9月30日星期一,Gaubee Bangeel 写道:
其它模板引擎,比如说Emberjs,之前看过相关的一个帖子,但是社区太小,找不出来,我记得是用一些特殊的声明在html元素的属性中才得以实现。angularjs采用的则是类似的写法{{$parent.arrribute}}这样。国内的像avalon则是用类似Emberjs一样的声明,在HTML元素中声明controller对象,从而取值(不得不说这样对html结构严重依赖,灵活性低)。
至于这个框架的特点,我设计的初衷就是“自由”,现在MV*框架对使用者写法的约束过大,API一堆。我则是倡导书写自由,我只提供你最符合逻辑的写法,就像jQ一样直观的操作元素,只要做的就是get、set,和其它库自由穿插,智能识别依赖,自动触发更新。属性绑定和视图绑定使用同一套模板语法,基本没有学习代价。
这个库是Ember、Angular、avalon三个框架的合体,以书写自由为核心的折中方案。
但现在在改动内核,设计新的内部绑定的协议,暂时不能使用。之前有释放出一个版本在Github上,基本功能可以正常使用,但玩不起混乱的作用域绑定,新的内核就是要解决这个问题,还有解决自动识别依赖中的循环依赖调试的问题,并且优化渲染方案。