在 Falcor 中循环遍历对象数据数组

Looping through array of object data within Falcor

假设我有以下路线:

{
  route: "usersById['length']",
  get: function(pathSet) {}
},
{
  route: "usersById[{integers:ids}]['firstName', 'lastName']",
  get: function(pathSet) {}
}

我的 angular1 控制器中有以下内容:

Model.get(
  'usersById.length',
  'usersById[0..2]['firstName', 'lastName']'
).then(function(response) {
  $scope.$apply(function() {
    vm.entities = response.json.usersById;
  });
});

来自服务器的响应将类似于:

{
  jsonGraph: {
    usersById: {
      "0": {
        firstName: 'Jiminy',
        lastName: 'Cricket'
      },
      "1": {
        firstName: 'Jafar',
        lastName: 'Husain'
      },
      "length": 123123
    }
  }
}

在我的 angular 1 模板中,我想遍历用户列表:

<tr ng-repeat="entity in users.entities">
  <td>{{entity.firstName}} {{entity.lastName}}</td>
</tr>

问题是响应中不仅有用户,首先它包含 length,其次似乎模型的承诺返回了其他元数据,其中看起来是路径数据的一部分: usersById

遍历用户列表的首选方式是什么?我应该在我的承诺中做这样的事情吗?

vm.entities = response.json.usersById.filter(function(value) {
  return typeof value === 'object';
});

我在任何地方都没有看到任何 API 请求获取原始值。

好的,看来处理这个问题的正确方法是创建另一条路线:users 只是 returns usersById 引用,这样你就有了一个实体数组,不包含长度等

我猜数据数组中有路径数据只是一个错误。

{
    users: {...},
    usersById: {...}
}

<li ng-repeat="user in users">{{ user.firstName }}</li>