angular基础1

来源:互联网 发布:怎么在电脑上开淘宝店 编辑:程序博客网 时间:2024/06/05 04:57

1、ng-repeat迭代数组的时候,如果数组中有相同值,可以家track by $index

<li ng-repeat="item in items track by $index">{{item}}</li>

2、{{now|'yyyy-MM-dd'}}

filter,格式化数据,接收一个输入,按某规则处理,返回处理结果

内置filter

ng内置的filter有九种:

date(日期)、currency(货币)、limitTo(限制数组或字符串长度)、orderBy(排序)、lowercase(小写)、uppercase(大写)、number(格式化数字加上千位分隔符,并接收参数限定小数点位数)、filter(处理一个数组,过滤出含有个子串的元素)、json(格式化json对象)

filter有两种使用方法,一种是直接在页面里:

<p>{{now|date:'yyyy-MM-dd'}}</p>

另一种是在js里面用:

$filter('date')(now,'yyyy-MM-dd hh:mm:ss');

自定义filter

app.filter('过滤器名称',function(){

return function(需要过滤的对象,过滤器参数1,过滤器参数2,...){

return 处理后的对象;

}

});

app.filter('timesFilter',function(){

return function(item, times) {

var result = '';

for(var i = 0; i < items; i ++) {

result += item;

}

return result;

}

});

3、factory、service和provider

factory:把service的方法和数据放在一个对象里,并返回这个对象

app.factory('FooService', function(){

return {

target: 'factory',

sayHello: function(){

return 'hello' + this.target;

}

}

});

service:通过构造函数方式创建service,返回一个实例化对象

app.service('FooService', function() {

var self = this;

this.target = 'service';

this.sayHello = function() {

return 'hello ' + self.target;

}

});

provider:创建一个可通过config配置的service,$get中返回的,就是用factory创建service的内容

app.provider('FooService', function() {

this.configData = 'init data';

this.setConfigDate = function(data) {

if(data) {

this.configData = data;

}

}

this.$get = function() {

var self = this;

return {

target: 'provider',

sayHello: function() {

return self.configData + ' hello ' + this.target;

}

}

}

});

app.config(function(FooServiceProvider){

FooServiceProvider.setConfigData('config data');

});


0 0
原创粉丝点击