2016-04-25 67 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>