所以我试图了解我的代码中的错误,当我访问/ dashboard时,它只加载第一个路由“ root”的模板,即SYSTEM_VARS.includes.general.root,但将console.log加载到resolve中状态为root.dashboard.home
我在index.html中添加了ui-view指令
请检查我的routes.js文件
控制台记录路由的console.logs:
State ROOT: Resolve root
Current State: DASHBOARD
Current State: DASHBOARD.HOME
/ dashboard状态模板的内容只是一个<h1>DASHBOARD HOME</h1> for tests
简短说明: / dashboard状态不会加载模板和配置的控制器。
请注意,状态名称中的点会产生嵌套状态。每个嵌套状态都希望包含在ui-view
父状态模板中。
这似乎在root.dashboard
和之间正确设置root.dashboard.home
。
但是其模板root.dashboard
本身并未正确插入索引页面,因为您在索引页面中使用了未命名的ui视图,但已将状态配置为使用名为的命名视图contentView
。删除views
属性并定义template
as后应立即修复此问题uiView
。该root.dashboard
状态应该是这样的:
{
abstract: true,
url: '/dashboard',
template: uiView,
resolve: {
data: [function () {
console.warn('Current State: DASHBOARD');
}]
}
}
有关参考,请参阅:https : //github.com/angular-ui/ui-router/wiki/Multiple-Named-Views#example---name-matching
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句