我有一个显示数据的简单表格。它的顶部有列,它们只是JSON数据的键。
我收到的数据是动态的;我不知道列的名称是什么。但是,当您单击某列时,它会按升序对其进行排序,或者根据您单击的次数进行降序。
我想使用ui-router保存此状态,但是,我不知道提前列的名称,那么我如何命名视图或状态?是否有一种简单的方法可以实现这一目标?
以下是表格的生成方式:
<table>
<tr>
<th ng-repeat="column in columns>
<a ng-click="$parent.predicate = '\'' + column + '\''; $parent.reverse=!reverse;">{{column}}</a>
</tr>
<tr ng-repeat="type in data | orderBy:predicate:reverse>
<td ng-repeat="column in columns"><input ng-model="type[column]"></td>
</tr>
</table>
答案 0 :(得分:0)
在Javascript中,可以使用for ... in循环来迭代属性。可以在循环内访问所述属性值。然后可以根据需要使用这些来填充模型。
例如(取自MDN):
var o = { a: 1, b: 2, c: 3 };
function show_props(obj, objName) {
var result = "";
for (var prop in obj) {
result += objName + "." + prop + " = " + obj[prop] + "\n";
}
return result;
}
console.log(show_props(o, "o")); /* alerts (in different lines): o.a = 1 o.b = 2 o.c = 3 */
使用这种方法,列名称或它们包含的内容并不重要。这有帮助吗?