2016-10-11 82 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

感謝您清除這個概念。下次我會在下一次徹底閱讀文檔之前提出一個問題:) –

相關問題