angularjs:多个抽象状态,重定向问题

时间:2017-05-24 11:55:26

标签: javascript angularjs angular-ui-router

我试图将两个抽象状态视图合并为一个状态。以下是我的代码。问题是当我转到.../#!/app/user/27/settings时,它会将我重定向到.../#!/app/user/27而不是停留在用户设置。

Angular版本1.6.4

App.js:

module.config(function ($stateProvider, $urlRouterProvider) 
{

    $urlRouterProvider.otherwise('/app/home');
    $stateProvider

        .state("app", {
            abstract: true,
            url: "/app",
            component: "appRouting"
        })


        .state("app.user", {
            url: "/user/:userId",
            component: "userProfileRouting"
        })

        .state("user", {
            abstract: true,
            url: "/user/:userId",
            component: "userRouting"
        })

        .state("app.user.settings", {
            url: "/settings",
            //component: "userSettingsRouting"
            template: "hello"
        });
}

1 个答案:

答案 0 :(得分:0)

有趣的场景,这是解决方案:

您可以在Angularjs Nested states: 3 level办理登机手续。

问题在于路由的角度如何,主要是ui-view如何用于呈现路由。与this问题类似。

关键是你的州app.user必须有一个ui-view包装:

<div ui-view>
  ...component code
</div>

请检查我创建的plnkr来描述解决方案。

主要关注contact.detail.html内容。