2016-10-11 80 views
0

假设我们有一个像ng-show和ng-if在angular 1.x中有什么区别?

<body ng-controller="SomeCtrl as Ctrl"> 
     <input type="checkbox" ng-model="Ctrl.checked"></input> 
     <div ng-if="Ctrl.checked">Some content</div> 
</body> 

<body ng-controller="SomeCtrl as Ctrl"> 
     <input type="checkbox" ng-model="Ctrl.checked"></input> 
     <div ng-show="Ctrl.checked">Some content</div> 
</body> 

一个示例中的两个NG-IF和NG-显示/ NG-隐藏实现在上面的例子一样。那么为什么我们在angularjs中有这个功能的两个单独的指令。

回答

1

ngIf去除DOM中的元素,ngShow保持它而从视图隐藏它:

https://docs.angularjs.org/api/ng/directive/ngIf

的ngIf指令删除或重新创建基于一个{表达DOM树的一部分}。如果分配给ngIf表达式计算为假值则该元素被从DOM移除,否则元素的克隆重新插入到DOM。

+0

感谢您清除这个概念。下次我会在下一次彻底阅读文档之前提出一个问题:) –

相关问题