Angular.JS中指令ng-if的注意事项小结


Posted in Javascript onJune 21, 2017

前言

ng-if指令可以根据表达式的值true/false在DOM中真正生成或真正移除一个元素。如果赋值给ng-if的表达式的值是false,那对应的元素将会从DOM中移除,否则对应元素的一个克隆将被重新插入DOM中。

ng-if同ng-show和ng-hide指令最本质的区别是,它不是通过CSS显示或隐藏DOM节点,而是真正生成或移除节点。

当一个元素被ng-if从DOM中移除,同它关联的作用域也会被销毁。而且当它重新加入DOM中时,会通过原型继承从它的父作用域生成一个新的作用域。

这样会导致,在 ng-if 中用基本变量绑定 ng-model ,并在外层 div 中把此 model 绑定给另一个显示区域,内层改变时,外层不会同步改变,因为此时已经是两个变量了。

示例代码:

<p>{{name}}</p>

<div ng-if="true">

<input type="text" ng-model="name" />

</div>

ng-show 不存在此问题,因为它不自带一级作用域。

避免这类问题出现的办法是,始终将页面中的元素绑定到对象的属性(data.x)而不是直接绑定到基本变量(x)上。详见 AngularJS 中的作用域

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
javascript下高性能字符串连接StringBuffer类
Aug 16 Javascript
jcrop基本参数一览
Jul 16 Javascript
鼠标划过实现延迟加载并隐藏层的js代码
Oct 11 Javascript
两种不同的方法实现js对checkbox进行全选和反选
May 13 Javascript
jQuery功能函数详解
Feb 01 Javascript
JS实现兼容各浏览器解析XML文档数据的方法
Jun 01 Javascript
jQuery实现hover合成事件的方法
Aug 06 Javascript
解决jQuery上传插件Uploadify出现Http Error 302错误的方法
Dec 18 Javascript
浅析node应用的timing-attack安全漏洞
Feb 28 Javascript
JS块级作用域和私有变量实例分析
May 11 Javascript
vue 中几种传值方法(3种)
Nov 12 Javascript
Vue+Element-U实现分页显示效果
Nov 15 Javascript
jquery.validate表单验证插件使用详解
Jun 21 #jQuery
JS实现简单拖拽效果
Jun 21 #Javascript
详解Vue路由开启keep-alive时的注意点
Jun 20 #Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
Jun 20 #jQuery
详解Node.js access_token的获取、存储及更新
Jun 20 #Javascript
详解angular 中的自定义指令之详解API
Jun 20 #Javascript
JS移动端/H5同时选择多张图片上传并使用canvas压缩图片
Jun 20 #Javascript
You might like
php 数学运算验证码实现代码
2009/10/11 PHP
YII中assets的使用示例
2014/07/31 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
基于jquery的checkbox下拉框插件代码
2010/06/25 Javascript
jquery dialog键盘事件代码
2010/08/01 Javascript
JS随机漂浮广告代码具体实例
2013/11/19 Javascript
js 删除数组的几种方法小结
2014/02/21 Javascript
JavaScript实现的图像模糊算法代码分享
2014/04/22 Javascript
jquery点击改变class并toggle的实现代码
2016/05/15 Javascript
jquery根据一个值来选中select下的option实例代码
2016/08/29 Javascript
JavaScript函数中的this四种绑定形式
2017/08/15 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
JavaScript模拟实现自由落体效果
2018/08/28 Javascript
Vue组件通信的几种实现方法
2019/04/25 Javascript
微信小程序云开发之新手环境配置
2019/05/16 Javascript
Vue组件简易模拟实现购物车
2020/12/21 Vue.js
Java多线程编程中ThreadLocal类的用法及深入
2016/06/21 Python
一步步教你用Python实现2048小游戏
2017/01/19 Python
Golang与python线程详解及简单实例
2017/04/27 Python
python print出共轭复数的方法详解
2019/06/25 Python
django 通过URL访问上传的文件方法
2019/07/28 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
2019/08/12 Python
如何基于Python实现自动扫雷
2020/01/06 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
2020/01/21 Python
python 解决mysql where in 对列表(list,,array)问题
2020/06/06 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
解决Python import .pyd 可能遇到路径的问题
2021/03/04 Python
纯CSS3实现图片无间断轮播效果
2016/08/25 HTML / CSS
简单html5代码获取地理位置
2014/03/31 HTML / CSS
应届生煤化工求职信
2013/10/21 职场文书
学术会议欢迎词
2014/01/09 职场文书
学校门卫岗位职责范本
2014/06/30 职场文书
科长个人四风问题整改措施思想汇报
2014/10/13 职场文书
教师见习报告范文
2014/11/03 职场文书
村官个人总结范文
2015/03/03 职场文书
会议营销主持词
2015/07/03 职场文书