我有以下ui-router定义:
$stateProvider
.state('main', {
abstract: true,
url: '/main',
templateUrl: 'partials/wrapper.html',
controller: 'WrapperCtrl'
})
.state('main.notidetails', {
controller: 'NotificationsDetailsCtrl',
url: '/notidetails/:id',
params: ['id'],
templateUrl: 'partials/notificationDetails.html'
});
但是在启动应用程序时,我得到了:
错误:params和url都在州' main.notidetails'
中指定
我应该做些什么?我想要' notidetails'保持儿童状态并拥有它的参数
答案 0 :(得分:2)
我认为错误说明了一切。您必须使用URL或params
中的参数。从您所在的州删除params
。将$stateParams
注入您的状态控制器,您可以像$stateParams.id
一样访问您的参数。
所以你的代码会是这样的:
$stateProvider
.state('main', {
abstract: true,
url: '/main',
templateUrl: 'partials/wrapper.html',
controller: 'WrapperCtrl'
})
.state('main.notidetails', {
controller: 'NotificationsDetailsCtrl',
url: '/notidetails/:id',
templateUrl: 'partials/notificationDetails.html'
});