2015-08-28 73 views
0

我有AngularJS指令下列HTML元素:AngularJS纳克级的条件

<div class="progress">             
<span ng-repeat="timeRangeObject in timeRangeObjects" style="width: {{timeRangeObject.percentage}}%" ng-class="vm.showVacation == true ? 'progress-bar timerange-{{timeRangeObject.containerType}}' : 'progress-bar timerange-PADDING'" />                    
</div> 

所以我Concat的不同类型/颜色不止一个进度条。 有了这个复选框,我将设置特定的进度条为透明颜色。

因此,我需要这样的:

... ng-class="vm.showVacation == true ? 'progress-bar timerange-{{timeRangeObject.containerType}}' : 'progress-bar timerange-PADDING | timeRangeObject.containerType == 'XY''" 

- >所以我需要有关纳克级else语句的过滤器。

这可能吗?重要的是只有颜色应该改变,但进度条应该保持在原来的位置。

非常感谢

[编辑] 这里是一个链接到我的问题: My Example

回答

0

你有做了很多的事情,是更好,如果你纠正首先是不使用style="width:{{}}"是更好,如果你使用的NG-风格,所以你不必使用托架,并回答你的问题,你可以在你的NG-类这样写:

<div ng-class="foo()"> 

JS

$scope.foo=function(){ 
    return /*here you put your condition sorry but i didn't understand 
      the conditions you need*/ 
} 

你也可以用你的风格属性来做到这一点。

+0

感谢您的回复。我不知道是否有可能处理这种情况。条件是 - 如果单击复选框,而不是所有进度条均应为透明,但JavaScript对象的属性containerType具有值“VACATION”的属性的透明度除外。这可能吗? – quma

+0

是的,你可以在你的复选框中放入ng模型,并在foo()中传递变量,如果同意做小提琴我会让你看到 – mautrok

+0

嗨,非常感谢!这是我的问题:[我的例子](https://jsfiddle.net/zz5z6dor/1/),如果我点击复选框比我只会显示假期。 (对不起,但我不能分开脚本和HTML - 它没有工作 - 我不知道为什么) – quma