如何在AngularJS中刷新使用$ resource服务获取的本地数据

时间:2013-07-20 12:48:00

标签: angularjs

我有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);
    });
}

1 个答案:

答案 0 :(得分:3)

我会再次获取整个列表,以便能够看到其他用户带来的修改。

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