我正在寻找对jquery和angular之间的DOM抽象完全不同的方法的描述,但我找不到它。
我认为在使用前者和后者开发多年后,我对jquery和angularjs的了解相对较好。
使用jquery完成的DOM抽象看起来与使用angularjs完成的DOM抽象完全不同。但是我找不到这些差异的正式定义,我不知道它是否是客户端网络应用程序设计模式的变化,如果是这样,它背后的哲学是什么。
理论上jquery逻辑与DOM的解耦更严格,因为所有的js代码都被排除在HTML之外,但实际上(在我看来)角度指令(结合双向绑定)可以让你更清洁简洁的DOM抽象。
但这是网络发展模式的转变吗?看起来如此,无论是淘汰赛,反应赛,余赛还是更多......分享那种类似的方法。
这只是进入MVC的结果吗?
如果有人能指出我背后的理论,我会很感激。
答案 0 :(得分:1)
尝试用&#34;命令式&#34;来考虑它。 vs&#34;声明&#34;。使用jQuery,您编写的JS创建了一个严格的DOM结构,与您尝试显示的数据相关联(您循环遍历数组,并为每个项生成<tr>
例如)。使用AngularJS,您将引入一种新的语言&#34; - 数据(模型)和表示(DOM)之间的抽象层 - 我们有时称之为#34;绑定&#34;。 ng-repeat
在幕后工作的方式与编写生成<tr>
s的jQuery循环没有什么不同,但是你不能自己直接这样做,它是在很好的声明性包装器,你告诉AngularJS你想要在DOM中有一个东西列表,那个列表应该绑定到模型层中的东西列表。
让我更清楚一点:内部AngularJS使用一个简单的,与API兼容的微小jQuery子集,允许Angular以跨浏览器兼容的方式操作DOM&#34; - https://docs.angularjs.org/api/ng/function/angular.element