资源发布后更新角度视图

时间:2013-10-15 19:32:01

标签: angularjs

这是我的问题!我使用$resource API将数据从客户端发布到服务器端。服务器端成功更新数据库后,我希望我的数据在视图中会更新。

我选择通过以下方式实现这一目标:

$scope.magazines = Magazines.query();

$scope.addMagazine = function() {
   var magazine = new Magazines({...payload data});
   Magazines.save(magazine, function() {
   $scope.magazines = Magazines.query();
});
};

杂志是一个定义的ngResrouce工厂。

此代码工作正常。我唯一的问题是,每当我激活此功能时(通过鼠标点击),视图会闪烁(刷新)一次。这是一个非常糟糕的用户体验。

我想知道是否有其他方法可以将新的“杂志”添加到范围而不刷新整个$scope.magazines

顺便说一句,后端的api会添加一些属性(比如创建时间或id)。即使我编写代码来获取最后添加的项目(我想的是另一种工厂方法),我仍然需要将它添加到$scope.magazines,我不知道该怎么做。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

将新push Magazine放到现有的$scope.magazines上(假设它是一个数组)

var magazine = new Magazines({...payload data});
$scope.magazines.push(magazine);