AngularJS - Как пройти обновление $routeParams для решения?
Как вы передаете текущие $routeParams для решения, чтобы их можно было использовать для выполнения определенного $http.get. Прямо сейчас я только что проверил $routeParams и передал обратно параметр, который должен быть зарегистрирован в моем контроллере, чтобы увидеть, работает ли он, но это маршрут позади каждого раза. Например, при загрузке это undefined, а на последующих маршрутах param - это предыдущий параметр param, поэтому я нажимаю новую ссылку и показывает параметр из предыдущего маршрута ссылки.
Фрагмент маршрута
.when('/something/:paramType', {
templateUrl: '/app/views/something.html',
controller: 'SomethingController',
controllerAs: 'someCtrl',
access: {
authentication: true
},
resolve: {
SomeData: function( $routeParams ) {
return $routeParams.paramType;
}
}
})
Флажок контроллера
.controller('SomethingController', ['$scope', 'SomeData', function( $scope, SomeData) {
console.log(SomeData);
}])
Как вы инициализируете параметр при загрузке и выполняете ли он синхронизацию каждый раз? Причина, по которой я хочу сделать это, заключается в том, что я могу выполнить $http.get и передать $routeParams для определения возвращаемых данных.
Ответы
Ответ 1
Из angular документации для $routeProvider
Помните, что ngRoute. $routeParams все равно будет ссылаться на предыдущий маршрут в пределах этих функций разрешения. Используйте $route.current.params для вместо этого используйте новые параметры маршрута.
Итак..
SomeData: function( $route ) {
return $route.current.params.paramType;
}