Javascript &引用;“用AngularJS思考”;如果我有jQuery背景?
假设我熟悉在中开发客户端应用程序,但现在我想开始使用。你能描述一下必要的范式转换吗?以下几个问题可能会帮助您确定答案:Javascript &引用;“用AngularJS思考”;如果我有jQuery背景?,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,假设我熟悉在中开发客户端应用程序,但现在我想开始使用。你能描述一下必要的范式转换吗?以下几个问题可能会帮助您确定答案: 如何以不同的方式构建和设计客户端web应用程序?最大的区别是什么 我应该停止做什么/使用什么;我应该开始做什么/使用什么 是否存在任何服务器端注意事项/限制 我不想详细比较jQuery和AngularJS命令→ 声明的 在jQuery中,选择器用于查找元素,然后将事件处理程序绑定/注册到元素。当事件触发时,该(命令式)代码将执行以更新/更改DOM 在AngularJS中,您
- 如何以不同的方式构建和设计客户端web应用程序?最大的区别是什么
- 我应该停止做什么/使用什么;我应该开始做什么/使用什么
- 是否存在任何服务器端注意事项/限制
jQuery
和AngularJS
命令→ 声明的
在jQuery中,选择器用于查找元素,然后将事件处理程序绑定/注册到元素。当事件触发时,该(命令式)代码将执行以更新/更改DOM
在AngularJS中,您需要考虑的是视图,而不是DOM元素。视图是包含AngularJS指令的(声明性)HTML。指令在幕后为我们设置事件处理程序,并为我们提供动态数据绑定。选择器很少使用,因此对ID(和某些类型的类)的需求大大减少。视图与模型绑定(通过作用域)。视图是模型的投影。事件会更改模型(即数据、范围属性),投影这些模型的视图会“自动”更新
在AngularJS中,考虑模型,而不是保存数据的jQuery选定DOM元素。将视图视为这些模型的投影,而不是注册回调来操纵用户看到的内容
关注点分离
jQuery-behavior(JavaScript)与结构(HTML)分离
AngularJS使用控制器和指令(每个指令都可以有自己的控制器和/或编译和链接函数)从视图/结构(HTML)中删除行为。Angular还提供服务和过滤器,以帮助分离/组织应用程序
另见
应用程序设计
设计AngularJS应用程序的一种方法:
$apply
s的集合将这些插件粘到AngularJS中,这些插件既混乱又复杂;但他们最终还是成功了!问题是在大多数情况下,jQuery插件可以用AngularJS在c语言的一小部分中重写
<a ng-click="toggle()">Menu</a>
<ul ng-show="menu.visible">
...
</ul>
<a ng-mouseenter="unfold()" ng-mouseleave="fold()">Menu</a>
<ul ng-show="menu.visible">
...
</ul>
<input ng-model="user.name" />
<p>
{{user.name}}
</p>
myApp.service('FlickrService', function() {
return {
getFeed: function() { // do something here }
}
});
myApp.controller('myController', ['FlickrService', function(FlickrService) {
FlickrService.getFeed()
}]);