首页 > 代码库 > 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.ServiceProvider
1.多个controller有相同代码时候,凑成一个服务(service)
2.$http类似ajax,请求服务端数据
3.多个controller调用自己写的的服务

14. ServiceProvider
1.常用的service
2.后台先定义模块,然后在module上定义一个方法,对这个方法命名和一个函数,函数对数据进行处理

 

angularjs