Angularjs UiRouter-状态参数为空
在控制器中,我得到$stateParams.foo未定义Angularjs UiRouter-状态参数为空,angularjs,Angularjs,在控制器中,我得到$stateParams.foo未定义 MoviesApp.config(function($stateProvider, $urlRouterProvider) { $urlRouterProvider.otherwise('/home'); $stateProvider .state('home', { url: '/home', templateUrl: '/Partial/home.ht
MoviesApp.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/home');
$stateProvider
.state('home', {
url: '/home',
templateUrl: '/Partial/home.html'
})
.state('movieDetails', {
url: '/allPlaces',
views: {
'': {
templateUrl: '/Partial/movieDetails.html',
controller: 'movieDetailsCtrl'
}
}
});
});
/*.state('home', {
url: '/:foo?bar',
views: {
'': {
templateUrl: 'tpl.home.html',
controller: 'MainRootCtrl'
},*/
MoviesApp.controller('movieDetailsCtrl', function($scope, $state,$stateParams) {
//..
var foo = $stateParams.foo; //getting fooVal
var bar = $stateParams.bar; //getting barVal
//..
$scope.state = $state.current
$scope.params = $stateParams;
})
尝试此操作,您可能忘记将$stateParams注入控制器您需要如下设置您的状态:
.state('home', {
url: '/:foo/:bar',
views: {
'': {templateUrl: 'tpl.home.html', controller: 'MainRootCtrl'}
}
}
然后使用:ng sref进入该状态
<a ui-sref='home({foo: value, bar: value})'>klick me</a>
请尝试MoviesApp.controller'movieDetailsCtrl'、['$scope'、'$state'、'$stateparms'],函数$scope、$stateparms']
<a ui-sref='home({foo: value, bar: value})'>klick me</a>