首页 > 代码库 > angularjs
angularjs
1.四大特性
MVC,模块化与依赖注入,指令与ui控件,双向数据绑定
2.为什么需要MVC
1.代码越来越大,因此需要模块化
2.逻辑一样,实现复用
3.后期维护
3.MVC是基于scope实现的
4.路由、模块、依赖注入
路由:通过when和otherwise,让url与相应内容对应
模块:入口文件app,然后通过module,存放多个依赖注入,和路由配置
5.双向数据绑定
1.首页用ng-bind,再加载的页面可用双括号绑定,双向绑定常用于form表单
6.双向数据绑定
1.将数值和表单双向数据绑定
2.class的双向绑定
3.ng-show ng-hide ng-class ng-animate ng-bind
7. 路由
1.ajax无法保留历史记录,从而无法保存url,而且不利于SEO优化,angularjs路由通过改变url可以保存路径
8.指令
1.用指令中的link操作dom
2.restrict(匹配模式AEMC),template(少量html拼接),templateurl(引入html)
3.缓存这个模版,使用run方法执行templateCache,在其他指令使用,使用时候用get
4.transclude,嵌套时候,使不会被替换
9.指令
1.scope:{},创建独立作用域
controller:function($scope){}暴露一组公共函数给外部调用
link方法用了处理dom元素,事件和监听行为
2.directive中link方法有4个参数,3个常用的为 scope,element,attr.
3.注意:页面元素上驼峰法则书写的属性,到js里要改为小写
10.指令
1.scope:{},创建独立作用域
controller:function($scope){}暴露一组公共函数给外部调用,调用例如scope.loadData或者scope.$apply("loadData()")
link方法用来处理dom元素,事件和监听行为
2.directive中link方法有4个参数,3个常用的为 scope,element,attr.
3.注意:页面元素上驼峰法则书写的属性,到js里要改为小写
11.指令
1.创建独立scope(指令之间独立使用):scope:{}
2.scope绑定策略:@(字符串),=(双向绑定),&(函数)
12.指令
1.内置63个指令,增强form
2.自己写指令,在前台对指令写样式:div[contentEditable]
13.Service与Provider
1.多个controller有相同代码时候,凑成一个服务(service)
2.$http类似ajax,请求服务端数据
3.多个controller调用自己写的的服务
14. Service与Provider
1.常用的service
2.后台先定义模块,然后在module上定义一个方法,对这个方法命名和一个函数,函数对数据进行处理
angularjs