AngularJS ng-repeat 首先显示特定项目
AngularJS ng-repeat display specific item first
我正在使用 angular js ng-repeat,我想先显示特定元素
例如我有这个对象
$scope.user = {
age: {
display: "Age",
val: "21"
},
firstName: {
display: "First Name",
val: "John"
},
lastName: {
display: "Last Name",
val: "Smith"
},
}
并像这样使用 ng-repeat。
<tr ng-repeat = "(key, value) in user">
<td ng-model = "user[key].display"></td>
<td ng-model = "user[key].val"></td>
</tr>
如果我使用 ng-repeat,它会显示年龄、名字和姓氏,但我想在 ng-repeat 中先显示名字。
谢谢。
如 this answer 中所述,您无法在 javascript 中指定键的顺序。如果你想保证一定的顺序,你必须将你的数据重组为一个数组。
js对象没有顺序。但是您可以提取 firstName 并在之后执行其余操作:
<tr>
<td ng-model = "user[firstName].display></td>
<td ng-model = "user[firstName].value></td>
</tr>
<tr ng-repeat = "(key, value) in user" ng-if="key!='firstName'">
<td ng-model = "user[key].display"></td>
<td ng-model = "user[key].val"></td>
</tr>
我正在使用 angular js ng-repeat,我想先显示特定元素
例如我有这个对象
$scope.user = {
age: {
display: "Age",
val: "21"
},
firstName: {
display: "First Name",
val: "John"
},
lastName: {
display: "Last Name",
val: "Smith"
},
}
并像这样使用 ng-repeat。
<tr ng-repeat = "(key, value) in user">
<td ng-model = "user[key].display"></td>
<td ng-model = "user[key].val"></td>
</tr>
如果我使用 ng-repeat,它会显示年龄、名字和姓氏,但我想在 ng-repeat 中先显示名字。
谢谢。
如 this answer 中所述,您无法在 javascript 中指定键的顺序。如果你想保证一定的顺序,你必须将你的数据重组为一个数组。
js对象没有顺序。但是您可以提取 firstName 并在之后执行其余操作:
<tr>
<td ng-model = "user[firstName].display></td>
<td ng-model = "user[firstName].value></td>
</tr>
<tr ng-repeat = "(key, value) in user" ng-if="key!='firstName'">
<td ng-model = "user[key].display"></td>
<td ng-model = "user[key].val"></td>
</tr>