如何将ngRoute中的参数传递给resolve对象内的函数?

时间:2017-01-09 08:19:46

标签: angularjs ngroute

我有以下路线并使用函数all_data解析对象:

.when('/events', {
    controller: eventCtrl,
    templateUrl: 'some/path.html',
    resolve:{
        all_data: function(){

        }

我的问题是,如果我将一些参数传递给这样的路线:

.when('/events/:param1'), {
....

我可以以某种方式通过这个" param1"进入" all_data"功能如下:

....
resolve: {
all_data: function(param1){
    console.log(param1);
}
...

2 个答案:

答案 0 :(得分:1)

您可以编写解决方法,例如您使用ngRoute并且网址如'/events/:param1'

all_data: ['$routeParams', function($routeParams){
    console.log($routeParams.param1);
}

如果您使用的是ui-router,请使用$stateParams代替$routeParams

答案 1 :(得分:0)

  

请注意,路由更改成功完成后,$routeParams才会更新。这意味着您不能在路由解析功能中依赖$routeParams正确。相反,您可以使用$route.current.params来访问新路线的参数。

- AngularJS $routeParams API Reference