这是我的问题!我使用$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
,我不知道该怎么做。
有什么想法吗?
答案 0 :(得分:0)
将新push
Magazine
放到现有的$scope.magazines
上(假设它是一个数组)
var magazine = new Magazines({...payload data});
$scope.magazines.push(magazine);