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>