尝试寻找答案但没有成功。
在angularJS中使用ng-class时,有没有将属性的值作为类名?
我的意思的一个例子:
var things = [
{
a: "abc",
aTrue: true
}
];
然后在Angular中(在这个例子中使用ng-repeat)
<div ng-repeat="thing in things" ng-class="{thing.a: !!thing.aTrue}></div>
我正在寻找班级名称为"abc"
- 但这会给我一个班级名称"thing.a"
。这是否可能,我哪里出错?
提前致谢,感谢您的帮助。
答案 0 :(得分:7)
不起作用的原因是因为它的行为就像一个Javascript对象所以你不能在javascript中执行此操作
var test = 'hello';
var object = {
test: 'hi'
};
object[test] === undefined // true // or
object.hello === undefined // true
object.test === undefined // false
因此,您无法使用类似的变量创建key
。所以尝试这样的事情。
ng-class="{ true: thing.a, false: '' }[thing.aTrue]"
演示:http://jsfiddle.net/XzXzR/1/
这是做什么的(javascript中的解释)
var test = {
one: 'hello',
two: 'world'
}['one'];
测试什么相等?
test === Object {one: "hello", two: "world"} // false
test === Object {one: "hello"} // false
test === Object {two: "world"} // false
test === 'one' // false
test === 'two' // false
test === 'hello' // ** true **
test === 'world' // false