angular十大常见问题


Posted in Javascript onMarch 07, 2017

AngularJS可以视为是一种数据优先的框架,在它的三个层面中,数据模型是骨架,视图模型和业务事件是血肉,视图模板和指令是皮毛,这三层合在一起,就形成了一个活生生的Web应用。

1.ng-if的情况下 ,始终将页面中的元素绑定到对象的属性(data.x)而不是直接绑定到基本变量(x)上。因为ng-if 会(隐式地)产生新作用域。

2.ng-repeat迭代数组的时候,如果数组中有相同值,会有什么问题,如何解决?  加 track by $index 可解决。也可以 trace by 任何一个普通的值

3.ng-click 中写的表达式,能使用 JS 原生对象上的方法吗?不能用,只要是在页面中,都不能直接调用原生的 JS 方法。因为这些并不存在于与页面对应的 Controller 的 $scope 中。

<p>{{13.14 | parseIntFilter}}</p>
app.filter('parseIntFilter', function(){
  return function(item){
    return parseInt(item);
  }
})

4.{{now | 'yyyy-MM-dd'}} 这种表达式里面,竖线和后面的参数通过什么方式可以自定义?

ng 内置的 filter 有九种:

date(日期)

currency(货币)

limitTo(限制数组或字符串长度)

orderBy(排序)

lowercase(小写)

uppercase(大写)

number(格式化数字,加上千位分隔符,并接收参数限定小数点位数)

filter(处理一个数组,过滤出含有某个子串的元素)

json(格式化 json 对象)

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

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

另一种是在 js 里面用:

// $filter('过滤器名称')(需要过滤的对象, 参数1, 参数2,...)
$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 < times; i++){
      result += item;
    }
    return result;
  }
})

6.factory、service 和 provider 是什么关系?

factory返回的是一个对象,而service返回的是一个实例化对象,绑定到 this 的都可以被访问。provider 是加强版 factory,返回一个可配置的 factory

7.性能问题

作为 MVVM 框架,因为实现了数据的双向绑定,对于大数组、复杂对象会存在性能问题。

可以用来 优化 Angular 应用的性能 的办法:

减少监控项(比如对不会变化的数据采用单向绑定)

主动设置索引(指定 track by,简单类型默认用自身当索引,对象默认使用 $$hashKey,比如改为 track by item.id)

降低渲染数据量(比如分页,或者每次取一小部分数据,根据需要再取)

数据扁平化(比如对于树状结构,使用扁平化结构,构建一个 map 和树状数据,对树操作时,由于跟扁平数据同一引用,树状数据变更会同步到原始的扁平数据)

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
IE FF OPERA都可用的弹出层实现代码
Sep 29 Javascript
关于图片按比例自适应缩放的js代码
Oct 30 Javascript
DWZ刷新dialog解决方法
Mar 03 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
Feb 27 Javascript
百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换
Feb 19 Javascript
JS给按钮添加跳转功能类似a标签
May 30 Javascript
Angular表格神器ui-grid应用详解
Sep 29 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
Dec 06 Javascript
node微信开发之获取access_token+自定义菜单
Mar 17 Javascript
详解Vue 全局变量,局部变量
Apr 17 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
Jul 07 Javascript
vue移动端写的拖拽功能示例代码
Sep 09 Javascript
Bootstrap表单控件学习使用
Mar 07 #Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
Mar 07 #Javascript
Bootstrap进度条实现代码解析
Mar 07 #Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
Mar 07 #Javascript
JavaScript实现向select下拉框中添加和删除元素的方法
Mar 07 #Javascript
js仿网易表单及时验证功能
Mar 07 #Javascript
JS完成画圆圈的小球
Mar 07 #Javascript
You might like
PHP包含文件函数include、include_once、require、require_once区别总结
2014/04/05 PHP
php中eval函数的危害与正确禁用方法
2014/06/30 PHP
PHP实现的网站目录扫描索引工具
2016/09/08 PHP
PHP面向对象程序设计重载(overloading)操作详解
2019/06/13 PHP
HR vs CL BO3 第一场 2.13
2021/03/10 DOTA
用js实现的仿sohu博客更换页面风格(简单版)
2007/03/22 Javascript
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
node.js 一个简单的页面输出实现代码
2012/03/07 Javascript
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
js或者jquery判断图片是否加载完成实现代码
2013/03/20 Javascript
图片上传插件jquery.uploadify详解
2013/11/15 Javascript
javascript读取xml实现javascript分页
2013/12/13 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
js document.write()使用介绍
2014/02/21 Javascript
js操作IE浏览器弹出浏览文件夹可以返回目录路径
2014/07/14 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
简介JavaScript中的unshift()方法的使用
2015/06/09 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
js图片放大镜效果实现方法详解
2020/10/28 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
2018/01/08 jQuery
解决vue-quill-editor上传内容由于图片是base64的导致字符太长的问题
2018/08/20 Javascript
JS 数组随机洗牌的实例代码
2018/09/12 Javascript
JavaScript实现省份城市的三级联动
2020/02/11 Javascript
以一段代码为实例快速入门Python2.7
2015/03/31 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
对python 判断数字是否小于0的方法详解
2019/01/26 Python
Python 线程池用法简单示例
2019/10/02 Python
Python实现钉钉/企业微信自动打卡的示例代码
2021/02/02 Python
英国知名美妆护肤在线商城:Zest Beauty
2018/04/24 全球购物
英国水族馆和池塘用品购物网站:Warehouse Aquatics
2019/08/29 全球购物
药剂专业学生求职信范文
2013/12/28 职场文书
个人职业生涯规划书1500字
2013/12/31 职场文书
安全协议书
2014/04/23 职场文书
高校教师个人总结
2015/02/10 职场文书
centos环境下nginx高可用集群的搭建指南
2022/07/23 Servers