我多年来一直在使用jQuery.现在,我想学习构建单页网站的新内容.我选择了AngularJS.
目前我想知道在AngularJS中使用jQuery是否是一个好主意?
例.
我在AngularJS控制器中有类似的东西:
$http.post('ajax/gettimeline', { page: page }).success(function (data) { $rootScope.loading = false; // Here I need to built dynamic html with getting and setting // dynamic elements size, positions, change their properties, etc. } });
使用jQuery构建这些动态html元素是一项简单的任务.但是使用AngularJS看起来会很痛苦.
将不胜感激任何建议.
谢谢
不,这不是一个好主意.您正在使用Angular应用程序中的jQuery编码实践,这会让您头疼 - 因为这些实践违背了Angular精神,也因为您无法获得Angular的好处.
Angular开发中最重要的部分之一是:您不应该从控制器中操纵DOM.这在jQuery中很好,但是在Angular中,你应该修改你的模型并让Angular渲染它.Angular有一个模板机制,您应该使用它来加载HTML片段.如果需要动态创建HTML,则应在指令中执行此操作.其他一切都违反了"关注点分离"的原则.
如果您使用jQuery或本机DOM方法来操作输入设置或修改DOM,那么您可以自行设置与Angular的争用,这会导致很多难以调试的错误.Angular的一个要点是双向数据绑定,如果您坚持将数据绑定到HTML,则这不是一个有用的功能.也许你最喜欢的一个更简单的模板库,如小胡子或淘汰赛?
收获的角度来让去的一些尝试和真正的实践和学习内置的指令,特别是效益ng-repeat
,ng-if
,ng-class
,ng-click
和ng-change
也许像角UI.