我有下面的控制器發佈一個新用戶,也獲得新用戶。
這裏的問題是添加一個新用戶後,範圍沒有更新,所以視圖不受影響。我也厭倦了返回函數,所以它期望承諾,但沒有更新範圍。
myapp.controllers('users', ['usersService', ''$scope',', function(usersService, $scope){
getUsers();
function getUsers(params) {
if (typeof(params) === "undefined") {
params = {page: 1};
}
usersService.getUsers(params).then(function (res) {
$scope.users = res.items;
$scope.usersListTotalItems = res._meta.totalCount;
$scope.usersListCurrentPage = res._meta.currentPage + 1;
});
}
}
$scope.addUser = function (user) {
usersService.adddNewUser(user).then(function (response) {
getUsers();
});
}
}]);
myApp.factory('userService', ['Restangular', '$http', function (Restangular, $http) {
return {
getUsers: function (params) {
var resource = 'users/';
var users = Restangular.all(resource);
return users.getList(params)
.then(function (response) {
return {
items : response.data[0].items,
_meta : response.data[0]._meta
}
});
},
adddNewUser: function (items) {
var resource = Restangular.all('users');
var data_encoded = $.param(items);
return resource.post(data_encoded, {}, {'Content-Type': 'application/x-www-form-urlencoded'}).
then(function (response) {
return response;
},
function (response) {
response.err = true;
return response;
});
}
};
}]);
adddNewUser函數的代碼是什麼? – Koitoer 2015-02-11 08:14:12
共享userService的代碼以及...我想問題可能會在那裏。您也可以更改更新調用的響應來獲取更新的用戶列表,而不是另一個數據庫調用,這是一個單獨的事情,但我觀察到一個點 – V31 2015-02-11 08:17:14
@ V31我已經添加了服務部分 – user3840211 2015-02-11 09:04:43