AngularJS可以视为是一种数据优先的框架,在它的三个层面中,数据模型是骨架,视图模型和业务事件是血肉,视图模板和指令是皮毛,这三层合在一起,就形成了一个活生生的Web应用。
1.ng-if的情况下 ,始终将页面中的元素绑定到对象的属性(data.x)而不是直接绑定到基本变量(x)上。因为ng-if 会(隐式地)产生新作用域。
2.ng-repeat迭代数组的时候,如果数组中有相同值,会有什么问题,如何解决"htmlcode">
4.{{now | 'yyyy-MM-dd'}} 这种表达式里面,竖线和后面的参数通过什么方式可以自定义? ng 内置的 filter 有九种: date(日期) currency(货币) limitTo(限制数组或字符串长度) orderBy(排序) lowercase(小写) uppercase(大写) number(格式化数字,加上千位分隔符,并接收参数限定小数点位数) filter(处理一个数组,过滤出含有某个子串的元素) json(格式化 json 对象) 5.filter 有两种使用方法,一种是直接在页面里: 另一种是在 js 里面用: 自定义 filter 6.factory、service 和 provider 是什么关系? factory返回的是一个对象,而service返回的是一个实例化对象,绑定到 this 的都可以被访问。provider 是加强版 factory,返回一个可配置的 factory 7.性能问题 作为 MVVM 框架,因为实现了数据的双向绑定,对于大数组、复杂对象会存在性能问题。 可以用来 优化 Angular 应用的性能 的办法: 减少监控项(比如对不会变化的数据采用单向绑定) 主动设置索引(指定 track by,简单类型默认用自身当索引,对象默认使用 $$hashKey,比如改为 track by item.id) 降低渲染数据量(比如分页,或者每次取一小部分数据,根据需要再取) 数据扁平化(比如对于树状结构,使用扁平化结构,构建一个 map 和树状数据,对树操作时,由于跟扁平数据同一引用,树状数据变更会同步到原始的扁平数据) 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
<p>{{13.14 | parseIntFilter}}</p>
app.filter('parseIntFilter', function(){
return function(item){
return parseInt(item);
}
})
<p>{{now | date : 'yyyy-MM-dd'}}</p>
// $filter('过滤器名称')(需要过滤的对象, 参数1, 参数2,...)
$filter('date')(now, 'yyyy-MM-dd hh:mm:ss');
// 形式
app.filter('过滤器名称',function(){
return function(需要过滤的对象,过滤器参数1,过滤器参数2,...){
//...做一些事情
return 处理后的对象;
}
});
// 栗子
app.filter('timesFilter', function(){
return function(item, times){
var result = '';
for(var i = 0; i < times; i++){
result += item;
}
return result;
}
})