UI-Router:当父抽象时处于子状态的状态参数

时间:2015-01-11 14:17:42

标签: angularjs angular-ui-router

我有以下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'保持儿童状态并拥有它的参数

1 个答案:

答案 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'
    });
相关问题