我试图在类似于owow的Angular js中将类动态附加到表的tr中。
ng-class="{
'text-light' : inventory.newValue.disabled,
'odd' : inventory.rowNumber % 2 === 1,
{{inventory.first? 'loc-'unit.attachNumber : 'bldg-'inventory.parent.attachNumber }}
}"
但是它不起作用,有人可以帮助我如何在AngularJs中做到这一点。我也不能把它放在控制器中。
答案 0 :(得分:1)
您忘记了字符串串联运算符+:
'loc-'+unit.attachNumber
'bldg-'+inventory.parent.attachNumber
此外,您对象的最后一个成员无效。缺少密钥,我们只能看到一个值。
您可以尝试以下方法:
ng-class="{
'text-light' : inventory.newValue.disabled,
'odd' : inventory.rowNumber % 2 === 1,
'attachNumber' : inventory.first? 'loc-'+unit.attachNumber : 'bldg-'+inventory.parent.attachNumber }}
}"
答案 1 :(得分:0)
如果您使用许多条件,则最好编写一个函数。这样,您将获得清晰的代码和可调试的代码。
在您的控制器中这样
$scope.getRightClass = function(inventory, unit){
var classes = [];
if(inventory.newValue.disabled === true){
classes.push('text-light');
}
if(inventory.rowNumber % 2 === 1){
classes.push('odd');
}
if(inventory.first === true){
classes.push('loc-' + unit.attachNumber)
}else{
classes.push('bldg-' + inventory.parent.attachNumber);
}
return classes.join(' ');
}
这在您看来
ng-class="getRightClass(inventory, unit)"