2017-02-13 86 views
0

我是新角度。使用角度替換屬性

我的問題是, 如果'ng-if'滿足,是否可以用'ng-show'替換'ng-hide'?

我想根據收到的數據隱藏和顯示某個div。它的'真'或'假',如果'假'div應該被隱藏,否則它應該顯示。

+0

有什麼用'NG-if' /'NG-show'本身的問題..?你的問題似乎不清楚 –

+0

...你不應該需要。如果您希望元素始終存在但基於值顯示或隱藏,請使用ng-show或ng-hide,否則使用ng - 如果您希望該元素存在或不存在基於值。 –

+0

這是我的問題所在。 我有2組數據。最初我想隱藏他們兩個,然後在驗證後,我可以顯示div中的兩個數據中的任何一個。 –

回答

0

目前尚不清楚對我來說,你需要達到什麼樣的,但也許這將是有益的:

function Controller (SomeService) { 
    var vm = this; 
    vm.firstVisible = false; 
    vm.secondVisible = false; 
    SomeService.getData().then(data) { 
     // firstValidation() function returns true if first way of display is matching 
     if (firstValidation(data)) { 
      vm.firstVisible = true; 
     } 

     // secondValidation() function returns true if second way of display is matching 
     if (secondValidation(data)) { 
      vm.secondVisible = true; 
     } 
    } 
} 

然後在HTML:

<div> 
    <div ng-if="vm.firstVisible"> 
     First way of displaying data 
    </div> 
    <div ng-if="vm.secondVisible"> 
     Second way of displaying data 
    </div> 
</div> 

(我故意不使用$onInit或其他東西不要使事情變得複雜)

1

它可以用boolean logic完成:

<div ng-show="cond1 && cond2"> 
    One data set 
</div> 
<div ng-show="cond1 && !cond2"> 
    Other data set 
</div> 

這兩個數據集將被隱藏,如果cond1 == false。如果true,其中一個或另一個將顯示。


或者使用De Morgan's Theorem

<div ng-show="cond1 && cond2"> 
    One data set 
</div> 
<div ng-hide="!cond1 || cond2"> 
    Other data set 
</div> 
+0

該解決方案非常有幫助。謝謝! –