关于AngularJS与其他前端框架混合使用的思考
AngularJS 是一个为动态WEB应用设计的结构框架,拥有双向数据绑定,模板,MVVM,依赖注入,指令5大优点,Angular最有诱惑力的就是数据绑定功能,使用MVC模式进行开发,Angular在数据显示和处理方便有着比传统JS框架不可取代的优点。
但是当我们的项目中需要使用漂亮的插件的时候,我们使用的往往是Juery插件和类Jquery框架(easyui,extjs)等等,这个时候我们需要混用多种框架,但是往往会存在不兼容和报错的各种问题,所以必须明确以下几点:
1、在AngularJS 里涉及到对DOM对象操作的时候默认使用jqLite,如果你引入了jquery库的话同样的操作就自动换成了使用jquery,毕竟jqLite的API算是jquery的子集,所以在对于基本的DOM操作,直接可以再AngularJS中使用Jquery的语法进行操作
2、类似于一些复杂的jquery插件,例如当你试图在Angular的项目中引入Bootstrap JavaScript组件时,会是一个问题。当建立了Angular的项目,##你不应该添加完整的jQuery库##。
所以
1、尽量去用原生js加angular已有功能实现,一些复杂功能,考虑用angular封装成指令,在指令中利用jQuery提供的某些函数功能也可以
2、对Jquery插件使用AngularJS进行封装,建议使用现有的AngularJs与其他框架结合的开源框架,比如:
UI-Bootstrap http://angular-ui.github.io/bootstrap/