4

我有 AngularJS 应用程序,它使用 $resource 服务使用 query() 方法检索数据并使用 model.$save() 方法创建新数据。正如文档所说,这完全可以正常工作。

我的问题是如何在更改后首先更新使用 MyService.query() 获取的本地数据?

我现在采用了最简单的方法,我只是再次调用 query() 方法。我知道这是效率方面最糟糕的方式,但它是最简单的方式。

在我的服务器端,我返回新模型的整个状态表示。如何将新创建的模型添加到本地数据数组中?

更新
我最终只是简单地从服务器推送模型返回,但我仍然很高兴知道这是否是要走的路。根据我从源代码中可以理解的返回数组是我可以自己操作的plan-old-javascript-array。

这是我使用的代码

$scope.save = function () {
    var newComment = new CommentsDataSource();
    newComment.Content = $scope.todoText;
    newComment.$save({ id: "1" }, function (savedComment) {
        $scope.comments.push(savedComment);
    });
}
4

1 回答 1

3

我只想再次获取整个列表,以便能够看到其他用户对列表进行的修改。

但是,如果您使用的解决方案适合您,请使用它。这是正确的。Angular 使用基本的 JavaScript 对象。将新实例添加到范围内的列表将刷新页面上显示的列表。

于 2013-07-20T14:09:44.120 回答