码迷,mamicode.com
首页 > Web开发 > 详细

angularjs个人见解

时间:2015-06-15 11:01:58      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

angularJS优点
angularJS通过为开发者呈现一个更高层次的抽象来简化应用的开发。
如同其他的抽象技术一样,这也会损失一部分灵活性。并不是所有的应用都适合用AngularJS来做。
AngularJS主要考虑的是构建CRUD应用。(crud增删改查)
幸运的是,至少90%的WEB应用都是CRUD应用。但是要了解什么适合用AngularJS构建,就得了解什么不适合用AngularJS构建。
如游戏,图形界面编辑器,这种DOM操作很频繁也很复杂的应用,和CRUD应用就有很大的不同,它们不适合用AngularJS来构建。
像这种情况用一些更轻量、简单的技术如jQuery可能会更好。
 
不足:
directive
复杂,上手比较难,看看这些符号和函数就能理解复杂度都多高:
E、A、C、M

自定义指令
1、可以转换成标签 要转换成标签 E
2、可以转换成属性 要转换成属性 A
3、可以转换成注释
4、可以转换成class

终要占用一个元素,尤其是当只想输出文本节点,而同时又必须使用 ng-switch 或 ng-repeat 时。

$resource 功能稍弱
缺少很多必要的 HTTP 方法,需要自定义;缺少全局配置;内部 $http 的 PATCH 方法对低版 IE 不兼容;

 

循环

//循环取students中的数据 交给 stu
<li ng-repeat="stu in students">
<li>{{stu.s_id}}</li>
<li>{{stu.s_name}}</li>
<li>{{stu.s_class}}</li>
</i>

input 的name 要和 input的ng-model名一样

 

验证:

required //非空验证
ng-show = "表单name.input的name.$error.required"


ng-pattern="正则表达式"
ng-show = "表单name.type的name.$error.pattern"

 

自定义指令
1、可以转换成标签 要转换成标签 E
2、可以转换成属性 要转换成属性 A
3、可以转换成注释
4、可以转换成class
directive//自定义指令
myApp.directive("指令名"函数(){
return{
restrict:"E", //要转换的类型
// require:"ngModel", //指定在改属性所在的标签中必须加入ng-model
replace:true, //替换
template:"<标签>自定义</标签>" //最后要转换成的模板
}
});
//属性
myApp.directive("指令名"函数(){
return{
restrict:"A", //要转换的类型
require:"ngModel", //指定在改属性所在的标签中必须加入ng-model

replace:true, //替换
template:"<标签>自定义</标签>" //最后要转换成的模板
}
});

 

 

//filter 过滤器
myApp.directive("指令名"函数($filter){
return{
restrict:"E", //要转换的类型
replace:true, //替换
template:function(ele,attr){
表达式
//时间过滤
$filter("data")(xx.getTime(),attr.dateFormat)//attr.dateFormat获取属性值
return:标签
}
}
});

 


自定义过滤器

myApp.filter("过滤器名",function(){
return function(xx){
return xx.toUpperCase(); //toUpperCase()小写转换大写 toLowerCase();大转小
}
});


<input type="text" ng-model="sss" />
{{sss | 过滤器名}}

angularjs个人见解

标签:

原文地址:http://www.cnblogs.com/zhangjianfh/p/4576512.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!