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 相关文章推荐
[原创]来自ImageSee官方 JavaScript图片浏览器
Jan 16 Javascript
JS代码同步文本框内容的实例方法
Jul 12 Javascript
js设置function参数默认值(适合没有传参情况)
Feb 24 Javascript
原创jQuery弹出层插件分享
Apr 02 Javascript
详解AngularJS中$http缓存以及处理多个$http请求的方法
Feb 06 Javascript
学习Javascript面向对象编程之封装
Feb 23 Javascript
javascript实现延时显示提示框特效代码
Apr 27 Javascript
使用AJAX实现Web页面进度条的实例分享
May 06 Javascript
JS实现获取剪贴板内容的方法
Jun 21 Javascript
浅谈html转义及防止javascript注入攻击的方法
Dec 04 Javascript
Move.js入门
Feb 08 Javascript
解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题
Sep 11 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
在smarty中调用php内置函数的方法
2013/02/07 PHP
深入理解curl类,可用于模拟get,post和curl下载
2013/06/08 PHP
PHP判断数据库中的记录是否存在的方法
2014/11/14 PHP
PHP Yii框架之表单验证规则大全
2015/11/16 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
2017/03/15 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
JavaScript 计算图片加载数量的代码
2011/01/01 Javascript
Jquery中的层次选择器与find()的区别示例介绍
2014/02/20 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
2015/11/21 Javascript
javascript函数自动执行常用方法汇总
2016/03/28 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
原生JS实现幻灯片
2017/02/22 Javascript
详解nodejs爬虫程序解决gbk等中文编码问题
2017/04/06 NodeJs
详解Next.js页面渲染的优化方案
2019/01/27 Javascript
原生js实现拖拽移动与缩放效果
2020/08/24 Javascript
[01:07:22]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG加赛
2014/05/26 DOTA
[51:14]LGD vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
python实现批量转换文件编码(批转换编码示例)
2014/01/23 Python
Python实现抓取HTML网页并以PDF文件形式保存的方法
2018/05/08 Python
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
Python 读取串口数据,动态绘图的示例
2019/07/02 Python
filter使用python3代码进行迭代元素的实例详解
2020/12/03 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
Shopee马来西亚:随拍即卖,最佳行动电商拍卖平台
2017/06/05 全球购物
豪华复古化妆:Besame Cosmetics
2019/09/06 全球购物
新闻记者个人求职的自我评价
2013/11/28 职场文书
农村婚礼主持词
2014/03/13 职场文书
反腐倡廉警示教育活动总结
2014/05/05 职场文书
入职担保书怎么写
2014/05/12 职场文书
运动会标语
2014/06/21 职场文书
民政局离婚协议书范本
2014/10/20 职场文书
市级三好学生评语
2014/12/29 职场文书
幼儿园辞职信
2015/05/13 职场文书
2015年基层党建工作汇报材料
2015/06/25 职场文书
开网店计划分析
2019/07/30 职场文书