【发布时间】:2017-01-25 12:24:04
【问题描述】:
我最近开始了一个基于 Angular 2.0.0 和 Angular Router (V3.0.0) 的新项目。因此我对辅助路线有疑问。
我想将我的应用程序拆分为不同的视图,这些视图出现在导航栏、主要内容、页脚等各种状态中。这样当用户与网站交互时,只有需要更改的页面部分(fe内容)被更改,所有其他视图保持原样。 因此,我想使用本次演讲中讨论的路由器辅助功能:
我的文件设置如下:
app.html
<router-outlet name="navigation"></router-outlet>
<main>
<router-outlet></router-outlet>
</main>
<router-outlet name="footer"></router-outlet>
app.routes.ts
import {Routes} from '@angular/router';
export const rootRouterConfig: Routes = [
{path: '', redirectTo: 'start(navigation:/navigation)', pathMatch: 'full'}
];
start.routes.ts
import {Routes} from '@angular/router';
import {StartContentComponent} from './startContent/startContent.component';
import {StartNavigationComponent} from "./startNavigation/startNavigation.component";
export const startRouterConfig: Routes = [
{path: 'start', component: StartContentComponent},
{path: 'navigation', component: StartNavigationComponent, outlet: 'navigation'}
];
现在的问题是:如果我手动输入
http://localhost:3000/#/start(navigation:/navigation)
进入浏览器的url,两个组件都正确显示。但是 app.routes.ts 中的重定向不起作用,访问http://localhost:3000/#/ 时出现以下错误:
未捕获(承诺中):错误:无法匹配任何路由:''
Angular 2 的官方文档没有提及辅助路由,只是表示将来会讨论它。除此之外,我还发现了其他一些博文,但没有一篇文章讨论了辅助路由与重定向的结合。
有人知道我的问题是什么或有类似的问题吗?
是否有另一种方法来构建我的页面以实现我想要的?
我应该切换到 Ui-router 吗?
【问题讨论】:
-
能否请您发布您的工作代码?谢谢!
标签: angular routing angular-routing