在CRUD场景中,加载记录列表然后在添加新记录后重新加载它是很常见的。你最终会得到这样的东西:
angular.module('myApp')
.controller('UsersController', function($scope,UserService) {
UserService.all().then(function(users) {
$scope.users = users;
};
$scope.addUser = function(userData) {
UserService.add(userData).then(function() {
UserService.all().then(function(users) {
$scope.users = users;
};
};
};
});
正如你所看到的,即使在addUser范围内我也有两次调用UserService.all(),我认为这是一个错误的方法。
我如何消除这种重复的代码..
我听说使用状态Resolve会消除这样的重复代码,你有什么看法?
答案 0 :(得分:1)
这实际上并不是特定于角度的,你可以像使用任何类型的代码那样处理它。您可以将重复的代码包装在另一个方法中,然后调用它:
$scope.reloadUsers=function(){
UserService.all().then(function(users) {
$scope.users = users;
};
};
然后拨打$scope.reloadUsers()
而不是致电UserService.all()
。