angular总结
angular 1、四大核心特性 MVC model(数据模型) view(视图) controller(业务逻辑控制逻辑) 模块化 指令系统 (angular 自带很多指令,以属性形式插入的html中。带ng前缀) 双向数据绑定 (传统:模板和数据 拼接到一起,到视图。)(视图和模型对应,借助事件机制,实现双向绑定)
代码编辑工具(sublime、webstorm) 断点调试工具(chrome,batarang【针对angular】) 版本管理工具(git) 代码合并和混淆工具(grunt) 依赖管理工具(bower,自动安装工具,依赖检测,bower install/uninstall jquery) 单元测试工具(karma,jasmine[describe/it/expect/to**(arg)]) 集成测试工具(protractor[专门为angular准备的])
creat -- watcher registration -- modelmutation -- mutation abservation -- scope destruction 5、模块是个框子集合,controllers,services,filters,directives,routes都是模块。
7、指令三阶段: compile 函数用来对模板自身进行转换,link函数负责在模型和视图之间进行动态关联。 8、scope 绑定策略 @把当前属性作为字符串传递。你还可以绑定来自外层scope的值,在属性中插入{{}}即可 scopeAt &传递一个来自父scope的函数,稍后调用 scopeAnd 9、service service都是单例的 service在整个应用周期都存在,可以共享数据 service在需要的地方利用依赖注入机制注入service 内置的service命名都以$符号打头,自定义的应该避免 service和provicder,factory本质都是provider 10、module module是angular中重要的模块组织方式,它提供了将一组内聚的业务组件(controller、service、filter、directive…)封装在一起的能力。这样做可以将代码按照业务领域问题分module的封装,然后利用module的依赖注入其关联的模块内容 关于module的定义为:angular.module(‘com.ngbook.demo’,[])。关于module函数可以传递3个参数,它们分别为:
11、Scope 对象下 的 $watch ,$apply 和 $digest 每次你绑定一些东西到你的UI上时你就会往$watch队列里插入一$watch。想象一下$watch就是那个可以检测它监视的model里时候有变化的东西。 当浏览器接收到可以被angular处理的事件(表单时间)时,$digest循环就会触发,处理$watch队列。 使用$apply 自动进入$digest。在没有绑定ng事件下的情况。http://www.angularjs.cn/A0a6 $apply()会执行整个循环,也就是$rootScope起。$digest()只会在当前的$scope中循环更新。$apply(function(){})可以加一个函数参数,执行完次函数后调用$digest()。$digest()循环是脏检查(Dirty Checking),它用来处理在listener函数被执行时可能引起的model变化。因此,$digest循环会持续运行直到model不再发生变化, 现在,假设你给一个按钮添加了ng-click指令,并且为他传递了一个函数。当你点击这个按钮的时候,AngularJS会把这个函数放进 $apply()中进行调用。所以,你的函数能够正常的执行,改变数据模型(如果有的话),并且,$digest循环会开始来保证你的更改会反映到视图(view)中。 可以通过检查$$phase来检查$digest是否正在进行中。 12、ui-router state name: 表示路由状态,@后跟的就是这个name 13、指令处理与dom有关操作,服务共享数据等,他们都是模块化 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |