Как правильно обновлять данные во view в процессе работы, имея опцию resolve, в которой выполняется первоначальная загрузка, не дублируя код:
- сделать как в примере и просто перезагрузить вид
- выделить отдельную процедуру в scope контроллера (или за пределами scope), которую вызывать через resolve и внутри контроллера?
angular.module('phonecat', ['phonecatFilters', 'phonecatServices', 'phonecatDirectives']).
config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/phones', {
templateUrl: 'partials/phone-list.html',
controller: PhoneListCtrl,
resolve: PhoneListCtrl.resolve})
}]);
function PhoneListCtrl($scope, phones) {
$scope.phones = phones;
$scope.orderProp = 'age';
}
PhoneListCtrl.resolve = {
phones: function(Phone, $q) {
var deferred = $q.defer();
Phone.query(function(successData) {
deferred.resolve(successData);
}, function(errorData) {
deferred.reject();
});
return deferred.promise;
}
}