ng-show ng-hide ng-if的区别

用途
  • ng-show ng-hide ng-if三个都可以用来控制页面DOM元素的显示与隐藏。
  • ng-hide条件为true时,隐藏所在元素,false时显示所在元素。
  • ng-show相反,条件为true时,显示所在元素,false时隐藏所在元素。
  • ng-if 根据表达式的值动态的在当前页面中添加删除页面元素,如果表达式的值为flase,那么这个元素就会从页面中删除,否则会添加一个元素。
工作原理
  • 在实现原理方面:ng-show和ng-hide是通过修改css样式的方式控制元素的显示与隐藏,对应的DOM元素会一直存在于当前页面中,而ng-if根据表达式的值动态的添加或者删除元素。ng-if创建元素时,用的是它编译后的代码,如果ng-if内部的代码被其他方式修改过,那么修改只会对本次展现有效,页面重新渲染后修改的效果就会消失,而ng-show和ng-hide则能够保留在DOM元素上次修改后的状态。
在作用域方面

当一个元素,被ng-if从DOM中删除时,与其关联的作用域也会被销毁,当他重新加入DOM中时,会生成一个新的作用域,而ng-show和ng-hide则不会。

转载于:https://www.cnblogs.com/lml-lml/p/7193970.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值