angularjs - 在 POST,PUT或者删除请求之后,如何使AngularJS成为 $resource 更新?

  显示原文与译文双语对照的内容
0 0

我Angular app,我安装" 项目中的" 为 $resource. 我在控制器,让服务器对get请求的数据会立即在页面载入时。 我可以编辑我的浏览器中的信息使用Angular的双向数据绑定,之后就能将数据保存回服务器通过POST请求,如下所示:

( 为简洁起见edited/simplified )

function ProjectCtrl($scope, $routeParams, Project) {
    $scope.project = Project.get({id: $routeParams.projectId},
        function(data) { //Successfully received data }, 
        function(data) { //Failed to receive data },
    );
    $scope.saveProject = function() {
        $scope.project.save();
    };
}

我Node服务器正常接收数据的处理信息并使一些更改,将其保存到我的数据库,然后返回最近更新的" 项目" 对象通过JSON响应。 Angular直到我刷新页面才会显示新对象。 有什么办法让它显示新的数据? 我猜肯定有一个很自动Angular做法比手动调用另一个get请求后, $scope.project.save();

时间:原作者:6个回答

0 0

就像是在服务器响应回来作为第一个参数传递给回调。 save,所以只要服务器响应,full 对象数据,你应该能够使用它来创建一个" 新" Project对象如下所示:

function ProjectCtrl($scope, $routeParams, Project) {
    $scope.project = Project.get({id: $routeParams.projectId},
        function(data) { /* Successfully received data */ }, 
        function(data) { /* Failed to receive data */ },
    );
    $scope.saveProject = function() {
        $scope.project.save(function(data) {
            $scope.project = new Project(data);
        });
    };
}
原作者:
...