我已多次在我的应用中遇到此问题。我有一个有趣的ngResource资源,我作为$scope
附加到$scope.jogasok = Jogas.query();
,我通过调用类似
$scope.addJogas = function (jogas) {
$scope.isDisabled = true;
var j = new Jogas(jogas);
j.$save(function (value) {
$scope.isDisabled = false;
}, httpErrorHandler);
};
其中Jogas
是ngResource
.factory('Jogas', function ($resource) {
var Jogas = $resource('/jogasok/:id/:action', {
'id': '@_id',
'action': '@action'
}, {
'ujBerlet': {'method': 'POST', 'params': {'action': 'ujberlet'}}
});
return Jogas;
})
POST调用成功,因此重新加载页面会在$scope.jogasok
中显示新项目,但如果我不重新加载则不会显示新项目。
$scope.jogasok
完成后,我可以自动重新加载/扩展$save
吗?
答案 0 :(得分:0)
我已经弄清了自己对这个问题的愚蠢。
$scope.jogasok
是Array
,因此如果不更改它,其值就不会改变。
最基本的解决方案是在成功处理程序中重新加载$scope.jogasok
:
$scope.addJogas = function (jogas) {
$scope.isDisabled = true;
var j = new Jogas(jogas);
j.$save(function (value) {
$scope.jogasok = Jogas.query();
$scope.isDisabled = false;
}, httpErrorHandler);
};