这可能很简单,但是我在文档中找不到任何内容,因此使用谷歌搜索没有帮助。我正在尝试定义一个状态,$stateProvider在该状态下,我需要在服务器上单击以提取所需数据的URL取决于状态URL参数。简而言之,类似于:
$stateProvider
.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参数,但是没有运气。什么是正确的方法?
$routeParams
cat
您关系密切$routeParams。如果使用ui-router,请$stateParams改用。该代码对我有用:
$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; }); }] } })