【发布时间】:2016-02-22 22:59:45
【问题描述】:
这是我的 JSON 数据。
"ATTRIBS":{
"WWW":
{
HIGH:10,
LOW:1,
NAME:World Wide Web,
TYPE:ON
},
"NET":
{
HIGH:12,
LOW:1,
NAME: Local Net,
TYPE:OFF
}
}
我想在表中列出这个 JSON 数据(我正在使用智能表),我只想列出 TYPE:OFF 的数据。
我尝试在 ng-repeat 中使用过滤器,但没有填充数据。
这是我用于在表格中列出的代码:
<tr ng-repeat="(key, value) in offAttribs">
<td>{{value.NAME}}</td>
<td>{{value.key}}</td> //I want abbreviations here i.e, www,NET..etc
<td>{{value.TYPE}}</td>
<td>{{value.LOW}}</td>
<td>{{value.HIGH}}</td>
这是我的控制器的外观,它从其他服务加载 JSON 数据。
当我在控制器中使用 if 条件在 ng-repeat 中使用 offAttribs 时,它只是将键作为(索引号 0,1,2...)而不是(JSON 的键,即 WWW 或 NET....) ,
编辑......工作代码
$scope.offAttribs = [];
for (var key in attribData){
attribData[key]['ABRV'] = key;
if (attribData[key].TYPE == 'OFF' ) {
$scope.offAttribs.push(attribData[key]);
}
}
【问题讨论】:
-
在 ng-repeat 上方添加 div 时会出现什么?
<div ng-bind="attribData"></div> -
您是否尝试过过滤控制器中的数据并将其传递给
ng-repeat?如果你把所有的逻辑都放在模板中,结果可能会有点混乱。 -
ng-repeat="(key, value) in attribData | filter: {TYPE: "OFF"}" 你试过这个吗?
-
@MayK 是的,我已经用单引号 'OFF' 尝试过这个,但没有出现任何表格,而“OFF”在我的 webstorm IDE 中抛出“表达式预期”错误
标签: javascript json angularjs