UI 路由器嵌套状态参数与父状态参数相同

UI Router nested state parameters are same as father state parameters

我有这样的路由:

$stateProvider
    .state('Lorem', {
        url: '/Lorem',
        params: { type: 'A'},
        templateUrl: 'views/lorem.html',
        controller: 'loremCtrl as ctrl'
    })
    .state('Lorem.son', {
        url: '/son',
        params: { position: 'X'},
        templateUrl: 'views/lorem.son.html',
        controller: 'loremSonCtrl as ctrl'
    })

当我去 /Lorem/son 路线时,我的 $stateParams 设置了父亲 Lorem 状态参数。

为什么会这样?
我只想读取 Lorem.son 状态参数。

有人可以帮助我吗?

状态 Lorem.son 的控制器根本没有被执行,这就是为什么您看不到 position 的值的原因。那是因为你没有使用 ui-view 指令。

您需要通过在 views/lorem.html 中添加以下内容来嵌套视图:

<div ui-view />

有关详细信息,请查看 documentation of ui-router

检查此 plunker 以获得演示。