when routeprovider example javascript angularjs

javascript - routeprovider - location search() angular



AngularJS-¿Cómo pasar los $ routeParams actualizados para resolver? (1)

¿Cómo se pasan los $ routeParams actuales para resolverlos, de modo que puedan usarse para hacer un $ http.get específico? En este momento, acabo de probar $ routeParams y devolví el parámetro que se registrará en mi controlador para ver si funciona, pero cada vez hay una ruta más atrás. Por ejemplo, en la carga no está definido, y en las rutas subsiguientes el parámetro es el parámetro de rutas anteriores, así que hago clic en un nuevo enlace y muestra el parámetro de la ruta del enlace anterior.

Fragmento de ruta

.when(''/something/:paramType'', { templateUrl: ''/app/views/something.html'', controller: ''SomethingController'', controllerAs: ''someCtrl'', access: { authentication: true }, resolve: { SomeData: function( $routeParams ) { return $routeParams.paramType; } } })

Fragmento de controlador

.controller(''SomethingController'', [''$scope'', ''SomeData'', function( $scope, SomeData) { console.log(SomeData); }])

¿Cómo se inicializa el parámetro en la carga y se sincroniza correctamente cada vez? La razón por la que quiero hacer esto es para poder realizar un $ http.get y pasar los $ routeParams para definir los datos devueltos.


De la documentación angular para $ routeProvider

Tenga en cuenta que ngRoute. $ RouteParams aún se referirá a la ruta anterior dentro de estas funciones de resolución. Use $ route.current.params para acceder a los nuevos parámetros de ruta, en su lugar.

Asi que..

SomeData: function( $route ) { return $route.current.params.paramType; }