2016-04-25 80 views
0

我想要我的兩個ng-if一起工作而不是單獨工作。如果兩者都是真的,那麼只顯示最後一個是真的。我的代碼現在看起來像這樣。將ng-if組合在一起

<div> 
    <img ng-src="{{img(myColor)}}" ng-if="myColor"> 

    <img ng-src="{{img(myColor2)}}" ng-if="myColor2"> 
</div> 

但是,當ng-if變成true時,這只是將它們疊加在一起。有沒有辦法一次只顯示一個沒有css

回答

0

這聽起來像你需要比簡單的標記可以提供更復雜的邏輯。爲什麼不使用設置顏色的範圍函數,然後使用合併標記。

<div> 
    <img ng-src="{{img(color)}}" ng-if="color"> 
</div> 

而且在你的JavaScript

$scope.setColor = function() { 
    // Something that determines what color to set. 
    $scope.color = ...; 
}; 
+0

我已經澄清了問題,當兩者都是真的,我只是想告訴他們的一個 - 最新NG-IF。我該怎麼做呢? –

+0

@jebmarcus - 「最新」是什麼意思? –

+0

我的意思是他們來回切換。如果第一個ng-if是第一個,那麼第二個ng-if變成true,我想要顯示。幾乎像一個切換 –

3

我可能會很晚提出一個解決方案。但我認爲你可以用& &位運算符來完成。

下面是示例代碼:

<div> 
 
    <img ng-src="{{img(myColor)}}" ng-if="myColor && !myColor2"> 
 

 
    <img ng-src="{{img(myColor2)}}" ng-if="myColor && myColor2"> 
 
</div>