我正在尝试在ng-repeat
内的元素上应用一个类,更重要的是,我想根据当前正在迭代的模型成员的属性来决定应用哪个类。为了说明,我有一个我从REST
端点获取的建筑物列表,然后在表格中进行渲染。
<tr ng-repeat="building in buildings">
......
<td>
<i ng-class="{'icon-check' : building.elevator, 'icon-check-empty' : building.elevator}"></i>
{{building.elevator}}
</td>
</tr>
问题是我未能根据正在呈现的建筑物的<i>
属性的值在elevator
元素上设置类。
为了记录,{{building.elevator}}
根据回复中的内容呈现为true
或false
。
我也试过在class属性中使用三元运算符而没有运气。
还尝试使用:
building.elevator ==&#39; true&#39; /&#39; false&#39;
而不只是:
building.elevator
没有结果。 请让我知道我在这里失踪了什么。
由于
修改
问题出现在Font Awesome的错误类中,我可能在搜索看起来像检查/不检查解决方案的东西时选择了一个不再存在的类。
供参考,以下是有效的代码:
<i ng-class="{'fa fa-check-circle-o' : building.elevator, 'fa fa-circle-o' : !building.elevator}"></i>
以及我收到的服务器响应的相关部分:
[{..., "elevator":false, ...}]
谢谢Nikhilesh Shivarathri&amp; user3273700为您的回复。你帮我提供了替代方案和指针,这让我最终怀疑这个错误的课程。
如果最终答案与我在此处提供的检查代码无关,我现在该怎么办?
答案 0 :(得分:0)
我已经创建了您的要求的示例应用程序,请检查您是否在以下示例中遗漏了应用程序中的任何内容。
将{{#each bookmarks as |bookmark|}}
<div>
{{bookmark.link.title}}
</div>
{{/each}}
更改为value.booleanField !== 'true'
if
您的数据包含布尔字段而不是字符串。
value.booleanField !== true
&#13;
var app = angular.module('sample', []);
app.controller('samplecontroller', function($scope) {
$scope.values = [{
booleanField: 'true',
name: 'Jospeh'
}, {
booleanField: 'false',
name: 'John'
}]
});
&#13;
.test-false {
background-color: red;
}
&#13;