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;
}