初识SmartJS - AOP三剑客
作者:
SmartJS的内容规划比较多,也无法在短时间全部完成,目前就以小版本一个个功能累加。
第一期0.1版发布的内容主要是实现前端面向切面编程(AOP)的一些支持。
1. PromiseEvent
基于事件和promise的回调管理,类似于jquery的callbacks,但具有结果传递,优先级,事件参数,promise控制等功能
2. Trigger
触发器,在对象上应用触发器(aop)功能,目标对象会具有方法注入功能(基于promiseEvent),注入的类型有before,after和round环绕三种;
3. FlowController
流程/生命周期控制器,控制流程的执行和流转,基于Trigger
4. 常用方法;
//合并默认数据方法,将obj中空的内容从defObj中复制;与jquery的$.extend不通,只会加入不存在的数据
st.mergeObj(deep, obj, defObj, exclude)
//在目标对象方法中注入方法,返回结果
st.injectFn(target, name, fn, before,stopOnFalse)
//合并方法,返回结果
st.mergeFn(fn, mergeFn,stopOnFalse)
另外声明一下,十分抱歉,以前承诺的smartUI2.0一直没有完成,想法一直在变,而且这两年发现自己能支配的时间也越来越少。不过smartjs后续规划中也会有ui方面的内容,也相当于将smartUI并于Smartjs中。
后期预告:smartjs 0.2版中,会加入oop支持的一些内容。
最后附上地址smart地址,里面有比较丰富的测试用例,api的话后续会更新博客逐一说明。