我如何在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
的子状态时。我可以轻松地uiSref
到dashboard
,因为我的应用程序的状态包括将来的状态,而ui-router
知道如何处理。
但是如何在链接中引用子状态?子状态本身存在于尚未加载的模块中。有没有办法提供ui-router
某种类型的“提示”,它需要加载dashboard
然后寻找与editProfile
匹配的子状态?