一尘不染

ui-router使用动态参数解析

angularjs

这可能很简单,但是我在文档中找不到任何内容,因此使用谷歌搜索没有帮助。我正在尝试定义一个状态,$stateProvider在该状态下,我需要在服务器上单击以提取所需数据的URL取决于状态URL参数。简而言之,类似于:

 .state('recipes.category', {
    url: '/:cat',
    templateUrl: '/partials/recipes.category.html',
    controller: 'RecipesCategoryCtrl',
    resolve: {
      category: function($http) {
        return $http.get('/recipes/' + cat)
          .then(function(data) { return data.data; });
      }
    }
  })

上面的方法不起作用。我尝试注入$routeParams以获取所需的cat参数,但是没有运气。什么是正确的方法?


阅读 247

收藏
2020-07-04

共1个答案

一尘不染

您关系密切$routeParams。如果使用ui-router,请$stateParams改用。该代码对我有用:

.state('recipes.category', {
    url: '/:cat',
    templateUrl: '/partials/recipes.category.html',
    controller: 'RecipesCategoryCtrl',
    resolve: {
         category: ['$http','$stateParams', function($http, $stateParams) {
             return $http.get('/recipes/' + $stateParams.cat)
                    .then(function(data) { return data.data; });
         }]
     }
})
2020-07-04