angular学习笔记
1、forEach
arr:参数是key,index
json:与jquery相反,参数是value,key
2、str-->json
JSON.parse() angular.fromJson()
json-->str
JSON.stringify() angular.toJson() 后面跟一个true,会转换成json形式的字符串,方便查看
3、copy(),extend(),merge()的区别
angular.copy(source, [destination]);
1、如果destination省略,则创建出一个对象或数组
2、如果destination存在,删除destination里的所有属性,把source里的所有属性深copy过来
3、如果source不是对象或数据(如:null或undefined),直接return source
4、如果source和destination一样,则抛出异常
angular.extend(dst, src);
和jquery中的$.extend(dst,src)一样
angular.merge(dst,src);
和jquery中的$.extend(true,dst,src)一样
注:copy和(extend|merge)中的参数是相反的。
4、angular.identity(value) 直接返回传入的值,即value
function transformer(transformationFn, value) {
return (transformationFn || angular.identity)(value);
};
//相当于如下
if (transformationFn){
return transformationFn(value)
} else {
return value
}
5、angular.noop(),什么都不操作
function foo(callback) {
var result = calculateResult();
(callback || angular.noop)(result);
}
//有callbak,则执行callback函数,没有则什么都不操作
6、$filter('orderBy')(array,expression,reverse)
第三个参数,排序是正序还是反序,不写或者false为正序,true为反序
7、ng-repeat
$index :从0开始
$even:第一个偶数为true
8、$filter('filter')(array,expression,comparator)
array:souce
expression:
1、string: 字符串或者对象字符串属性
前面加上“!”会取反向
2、object:{name:'M',phone:'1'},会找name为M并且phone为1,只能找同级的
{$:'text},会找任意属性为text,可以找到嵌套的
{name:'!M'},会找name不为M的
3、function(value,index,array){}:
value为每一个值
index为索引
array为整个大的数组
return true为找到
comparator:
1、function(actual,expected){}:
true为找到,actual为每次进来的值,有可能是string或者object,expected为希望找到的值(即:第二个参数中的expression)
2、true
严格,即return angular.equals(actual,expected),全等(区别大小写)
3、false|undefined
模糊,不区分大小写
angular学习笔记的更多相关文章
- angular学习笔记(三十一)-$location(2)
之前已经介绍了$location服务的基本用法:angular学习笔记(三十一)-$location(1). 这篇是上一篇的进阶,介绍$location的配置,兼容各版本浏览器,等. *注意,这里介绍 ...
- angular学习笔记(三十一)-$location(1)
本篇介绍angular中的$location服务的基本用法,下一篇介绍它的复杂的用法. $location服务的主要作用是用于获取当前url以及改变当前的url,并且存入历史记录. 一. 获取url的 ...
- angular学习笔记(三十)-指令(10)-require和controller
本篇介绍指令的最后两个属性,require和controller 当一个指令需要和父元素指令进行通信的时候,它们就会用到这两个属性,什么意思还是要看栗子: html: <outer‐direct ...
- angular学习笔记(三十)-指令(7)-compile和link(2)
继续上一篇:angular学习笔记(三十)-指令(7)-compile和link(1) 上一篇讲了compile函数的基本概念,接下来详细讲解compile和link的执行顺序. 看一段三个指令嵌套的 ...
- angular学习笔记(三十)-指令(7)-compile和link(1)
这篇主要讲解指令中的compile,以及它和link的微妙的关系. link函数在之前已经讲过了,而compile函数,它和link函数是不能共存的,如果定义了compile属性又定义link属性,那 ...
- angular学习笔记(三十)-指令(6)-transclude()方法(又称linker()方法)-模拟ng-repeat指令
在angular学习笔记(三十)-指令(4)-transclude文章的末尾提到了,如果在指令中需要反复使用被嵌套的那一坨,需要使用transclude()方法. 在angular学习笔记(三十)-指 ...
- angular学习笔记(三十)-指令(5)-link
这篇主要介绍angular指令中的link属性: link:function(scope,iEle,iAttrs,ctrl,linker){ .... } link属性值为一个函数,这个函数有五个参数 ...
- angular学习笔记(三十)-指令(2)-restrice,replace,template
本篇主要讲解指令中的 restrict属性, replace属性, template属性 这三个属性 一. restrict: 字符串.定义指令在视图中的使用方式,一共有四种使用方式: 1. 元素: ...
- angular学习笔记(三十)-指令(1)-概述
之前在 angular学习笔记(十九)-指令修改dom 里面已经简单的提到了angular中的指令,现在来详细的介绍 '指令' 一.指令的创建: dirAppModule.directive('dir ...
- angular 学习笔记
每天进步一点点,学习笔记 笔记来自 angular权威指南 如果想要屏蔽浏览器对表单的默认验证行为,可以在表单元素上添加 novalidate 标记. 而按钮标签则完全忽略 hr e f 属性,并不 ...
随机推荐
- mongo查询某个字段是否存在,并删除记录里的这个字段
查询course表中,存在lectures_count字段的记录信息 db.course.find( { "lectures.lectures_count": { $exists: ...
- [译]反-反汇编 & 混淆 #1: 苹果没有遵循自己制定的Mach-O规范?
原文地址:http://reverse.put.as/2012/02/02/anti-disassembly-obfuscation-1-apple-doesnt-follow-their-own-m ...
- [google面试CTCI] 1-4.判断两个字符串是否由相同字符组成
[字符串与数组] Q:Write a method to decide if two strings are anagrams or not 题目:写一个算法来判断两个字符串是否为换位字符串.(换位字 ...
- 350 - Pseudo-Random Numbers
Pseudo-Random Numbers Computers normally cannot generate really random numbers, but frequently are ...
- Android Apk获取包名和Activity名称
一.使用aapt(Android Asset Packaging Tool)工具获取: 1.配置Android环境: a.添加build-tools/android路径到系统环境变量的中Path中,注 ...
- SVN使用教程之-分支/标记 合并 subeclipse
首先说下为什么我们需要用到分支-合并.比如项目demo下有两个小组,svn下有一个trunk版.由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组1继续完成原来正进行到一半的工作[某个 ...
- 高可用的池化 Thrift Client 实现(源码分享)
本文将分享一个高可用的池化 Thrift Client 及其源码实现,欢迎阅读源码(Github)并使用,同时欢迎提出宝贵的意见和建议,本人将持续完善. 本文的主要目标读者是对 Thrift 有一定了 ...
- [ios2][转]iOS摇动检测 (UIAccelerometer)
加速计(UIAccelerometer)是一个单例模式的类,所以需要通过方法sharedAccelerometer获取其唯一的实例. 加速计需要设置的主要有两个: 一个是设置其代理,用以执行获取加速计 ...
- CKPlayer 只调用HTML5播放器时全屏问题 这只是Chrome浏览器的渲染bug
如题,在系统中使用CKPlayer播放器,一切顺利,偶然发现没有全屏按钮, 正常的全屏按钮是这样的: 经过一步步调试,发现问题出在iframe, 当视频页面在iframe内时,全屏按钮不显示了,这个和 ...
- 使用Spring AOP来进行权限验证
使用Spring AOP前需要先引入相应的包 <dependency> <groupId>org.aspectj</groupId> <artifactId& ...