2016-10-11 7 views
0

は、私たちがang 1.xでng-showとng-ifの違いは何ですか?

<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-場合とNGショー/上記の例では、同じ達成NG-非表示にします。それではなぜ、angularjsでこの機能性のために2つの別個の指令があるのですか?

答えて

1

ngIfがDOMから要素を削除し、ngShowがそれを保持しかしビューから隠し:https://docs.angularjs.org/api/ng/directive/ngIfから

ngIf指令は、{式に基づいて、DOMツリーの一部を除去または再作成}。 ngIfに割り当てられた式が偽の値に評価された場合、要素はDOMから削除されます。そうでない場合、要素のクローンがDOMに再挿入されます。

+0

コンセプトをクリアしていただきありがとうございます。質問をする前に、次回徹底的にドキュメントを読むことになりました:) –