AngularJS jQuery 还是 Angularjs,真是纠结..
今天写一个小部件,先是用jQuery写,后来嫌处理数据操作DOM麻烦。后来改用Angularjs写,数据绑定果然爽,但是事件、动画处理起来就很别扭,尤其是要元素位移的,怎么绕似乎都要再和DOM打交道,这个时候又回想起jQuery的爽。于是两个结合起来用,结果更是不伦不类,边界区分不好。。。。。于是这一天就把砖从东头搬到西头,再从西头搬到东头
下班的路上,怒买双蛋煎饼,明天接着搬。。。
angularjs 和 jquery 并不冲突,可以合理并存
写个小部件无需动用Angular吧。
建议试下独立jQuery, jQuery + Backbone, React.js + Backbone等组合。
纠结这个是LZ没把两者的分工处理好。什么时候用JQ,什么时候用angular ,是能够合理并存的。
lz應該糾結backbone還是ng.. 實話說ng坑太大,backbone我能一下午搞懂,ng簡直(
jquery和Angular的适用场景不一样,如果只是写个小部件完全没必要用Angular,找个基于jQuery的插件或者自己写个就搞定了 Ps:用Angular处理事件别扭?图森破,布局样式/动画就不是Angular该关注的事,写个小部件也要mvc么?不解
据我所知,ng是不建议用jq的,官方指南的说明。如果需要一些功能,可以去找ng的扩展,好像是directive。 ng的思路就是扩展html的语义,页面里几乎不用js的。
用 directive, angularjs 会将 html 中声明了 directive 的 dom 注入到 directive 代码中
团队的前端,在用ng开发单页应用。 他们也痛苦于ng操作DOM没jquery方便。但是他们强迫自己不碰jquery,完全用ng的方式开发。 导致初期开发成本略高,主要是开发定制组件。越到后面开发效率越高,并且代码更易于维护。
jquery和Angular混用确实有点不伦不类,这两个东西的思考方式是有差别的。 参考这里的精彩回答: https://stackoverflow.com/questions/14994391/how-do-i-think-in-angularjs-if-i-have-a-jquery-background (翻译版)http://www.infoq.com/cn/news/2013/11/how-to-think-angularjs
#12楼 @hooluupog 哈 太巧了 刚好看这个回答..
jQuery还是必须吧,毕竟很多库都是jQuery的。 应该考虑的问题是:backbone, angular or ember吧。
动画处理起来就很别扭
∑(っ°Д°;)っ你是要整多复杂的动画啊,假如是那些用jquery都能实现的动画明明实现起来很简单的啊……
angularjs是邪教
#19楼 @QueXuQ bootstrap有的应该都是有原生实现的 http://angular-ui.github.io/bootstrap/ 而select2这种形式看上去很美,但实际上对移动端体验不怎么样……
如果只需要数据绑定的话可以看一下 Ractive.js。
推荐一下我最近在学习的网易js框架http://nej.netease.com/
#24楼 @xiongxin8802 貌似不搭, btw 不论前后,个人对这样又大(chou)又全(ying)的lib不感冒
#26楼 @tq0fqeu http://nej.netease.com/course/topic/template/ 他的模板引擎很强大,对于数据的处理很好的,并且速度也很快
@xiongxin8802 一个没有github地址,最近更新在2012-08-30的库有什么好学的。
@xiongxin8802 收到。这个repo貌似不属于网易官方。还是谨慎些吧,成熟的库比较好一点,除非你是手中无库,心中也无库,随心所欲的JS大牛。
#31楼 @billy 这个是官方https://github.com/NetEaseWD/NEJ forked from genify/NEJ
@xiongxin8802 Music那个做得挺不错,速度也好快。提交的是html, 有点像pjax
#34楼 @xiongxin8802 一个人用无所谓,如果你希望以后还有人跟你合作,最好用些烂大街的框架。
ng和jQ很好结合的啊 >_<.
我做一个业余项目(https://github.com/suffering/rubychinaspa)时, 因为NG的事情绑定不丰富(或我不了解), 于是专门引入了JQ.
JQ不是直接在NG的代码里引用. 而是在directives
里封装好. (后来觉得为了一点点的事件绑定引入那么大块的JQ代码实在没必要, 于是后来将JQ移除了).
另外, NG并对动画的支持其实很好的.ngAnimate
的存在就是用来解决动画问题的. 支持JS版的动画, 也支持css3版的动画. (NG只是在事件触发时动态增减一两个勾子而已. 而后, 随心所欲地callback就是了.)
对NG不太了解的话, 可能会对DOM位置的变化很是头疼. 这个可以从两个方向来思考问题. 一个是在$http
, $resource
取数据返回时就直接在callback
里改数据结构/排序等. 另一个就是在数据由MC
进入V
后, 再通过$filter
等更改其DOM位置.
最后, 除了这些内置的解决方案外, DIRECTIVE
解决一切.
#36楼 @suffering 我也是直接移除jQuery. 一个Angular已经很够用了。
@lawrence 不能说类似,只能说都可以归类于前端mv*类框架。 做出的东西效果可以基本相同, 但实现方法差别很大。
jQuery 真的是很方便. 在 React 的文档 https://facebook.github.io/react/docs/tutorial.html 中就引用了 jQuery, 提示
We included jQuery here because we want to ~simplify the code of our future ajax calls~, but it's NOT mandatory for React to work.
想要一个从 jQuery 切换到 Angular 的指南. 感觉目前 Angular 的学习曲线有些陡.
操作DOM的地方放到directive中。