在延迟加载的模块中引用子状态

时间:2018-08-23 19:09:21

标签: javascript angular typescript angular-ui-router

我如何在Angular 6 / UI-Router中引用(尚未加载)延迟加载状态的子状态?

我的应用程序具有延迟加载状态,该状态仅适用于称为dashboard且已加载DashboardModule的经过身份验证的用户。 dashboard有多个子状态;假设一个叫做editProfile

惰性加载模块的未来状态定义如下:

    export const dashboardState = {
        parent: 'app',
        name: 'dashboard.**',
        url: '/dashboard',
        loadChildren: './pages/dashboard/dashboard.module#DashboardModule'
    };

然后,在我的DashboardModule中,这是仪表板的 actual 路线及其子状态之一的样子:

    export const rootState: Ng2StateDeclaration = {
        parent: 'app',
        name: 'dashboard',
        redirectTo: 'editProfile',
        url: '/dashboard',
    };

    export const editProfileState: Ng2StateDeclaration = {
        parent: 'dashboard',
        name: 'editProfile',
        url: '/edit-profile',
    };

    export const DASHBOARD_STATE = [rootState, editProfileState];

我的问题是当我尝试通过dashboard引用uiSref的子状态时。我可以轻松地uiSrefdashboard,因为我的应用程序的状态包括将来的状态,而ui-router知道如何处理。

但是如何在链接中引用子状态?子状态本身存在于尚未加载的模块中。有没有办法提供ui-router某种类型的“提示”,它需要加载dashboard然后寻找与editProfile匹配的子状态?

0 个答案:

没有答案