1.$anchorScroll 监听$location.hash("IdName");调用$anchorScroll()函数就会滚动到IdName所在的位置
方法:
enter(element,parent,after,[done]);
在DOM中,将一个元素插入到元素后面或作为第一个子元素插入父元素。一旦完成,done()将会被回调(如果done()存在)。
element:被插入到DOM的元素。
parent:将会被插入子元素的父元素。(如果下一个元素不存在)。
after:后面插入元素的兄弟元素。
done:当元素被插入DOM后执行的回调函数。
leave(element,[done]);
从DOM中移除元素。一旦完成,done()将会被调用(如果done()存在)。
element:将会被从DOM中移除的元素。
done:当元素被从DOM删除后执行的回调函数。
move(element,parent,after,[done]);
将提供的元素在DOM中移动位置,在父元素的内部或者兄弟元素之间。一旦完成,该done()将会被回调(如果done()存在)
element:在DOM中被移动的元素。
parent:将会被插入子元素的父元素。(如果下一个元素不存在)。
after:后面被放置元素的兄弟元素。
done:当元素在DOM中被移动后执行的回调函数。
addClass(element,className,[done]);
给提供的元素添加提供的CSS类名。一旦完成,done()将会被调用(如果done()存在)。
element:将会被添加class名称的元素。
className:将会被提供的css类。
done:当css类被添加到元素中后执行的回调函数。
removeClass(element,className,[done]);
给提供的元素移除提供的CSS类名。一旦完成,done()将会被调用(如果done()存在)。
element:将会被移除class名称的元素。
className:将会被移除的css类。
done:当css类被从元素中移除后执行的回调函数。
setClass(element,add,remove,[done]);
在元素中添加或者移除给定的css类名。一旦完成,done()将会被调用(如果done()存在)。
element:被设置CSS类的元素。
add:将会被添加到元素的CSS类。
remove:将会从元素上移除的CSS类。
done:当元素中的css类被设置后执行的回调函数
(1)put(key,value);
在缓存对象中插入一个键值对(key,value)。
(2)get(key);
在缓存对象中通过指定key获取对应的值。
(3)romove(key);
在缓存对象中通过指定key删除对应的值。
(4)removeAll();
删除缓存对象中所有的键值对。
(5)destroy();
销毁这个缓存对象。
(6)info();
获取缓存对象信息(id,size)。
注意:key:string类型,缓存对象中的值名称。
value:所有类型,缓存对象中的值。
var myScope = scope.$new();
myScope.showThis = true;
var temp = $compile('<div ng-show="showThis">TEXT</div>')(myScope);
temp.appendTo('body');
app.filter('odditems',function(){
return function(inputArray){
var array = [];
for(var i=0;i<inputArray.length;i++){
if(i%2!==0){
array.push(inputArray[i]);
}
}
return array;
}
});
{{ expression | filter }}
{{ expression | filter1 | filter2 | ... }}
3.filter可以接收参数,参数用 : 进行分割
{{ expression | filter:argument1:argument2:... }}
4.除了对{{}}中的数据进行格式化,我们还可以在指令中使用filter,例如先对数组array进行过滤处理,然后再循环输出:
<span ng-repeat="a in array | filter ">
5.controller中使用
app.controller('testC',function($scope,$filter){
$scope.num = $filter('currency')(123534);
$scope.date = $filter('date')(new Date());
}
6.{{num | currency : '¥'}}使用currency可以将数字格式化为货币,默认是美元符号,你可以自己传入所需的符号
7.{{date | date : 'yyyy-MM-dd hh:mm:ss EEEE'}}原生的js对日期的格式化能力有限,
ng提供的date过滤器基本可以满足一般的格式化要求
8.json过滤器可以把一个js对象格式化为json字符串,没有参数{{ jsonTest | json}}
9.{{ childrenArray | limitTo : 2 }}limitTo过滤器用来截取数组或字符串,接收一个参数用来指定截取的长度
10.number过滤器可以为一个数字加上千位分割,像这样,123,456,789。同时接收一个参数,
可以指定小float类型保留几位小数:{{ num | number : 2 }}
$http.get("http://xxx") .success(function(response) {$scope.names = response.records;});
内置方法:
- absUrl( ):只读;根据在RFC 3986中指定的规则,返回url,带有所有的片段。
- hash( ):读、写;当带有参数时,返回哈希碎片;当在带有参数的情况下,改变哈希碎片时,返回$location。
- host( ):只读;返回url中的主机路径。
- path( ):读、写;当没有任何参数时,返回当前url的路径;当带有参数时,改变路径,并返回$location。(返回的路径永远会带有/)
- port( ):只读;返回当前路径的端口号。
- protocol( ):只读;返回当前url的协议。
- replace( ):如果被调用,就会用改变后的URL直接替换浏览器中的历史记录,而不是在历史记录中新建一条信息,这样可以阻止『后退』。
- search( ):读、写;当不带参数调用的时候,以对象形式返回当前url的搜索部分。
- url( ):读、写;当不带参数时,返回url;当带有参数时,返回$location。
内置事件:
- $locationChangeStart:在URL改变前发生。这种改变可以通过调用事件的preventDefault方法为阻止。查看ng.$rootScope.Scope#$on获得更多的细节。成功时触发$locationChangeSuccess事件。
- $locationChangeSuccess:当URL改变后发生。
app.controller('myCtrl', function($scope, $timeout) {
$scope.myHeader = "Hello World!";
$timeout(function () {
$scope.myHeader = "How are you today?";
}, 2000);
});