关于网上的辅助路线几乎没有任何信息,对RC5 / RC1来说更是如此,我希望SO上的某个人设法让他们上班(他们应该已经修好了,所以我听说过,但那个& #39; s关于它。)
我收到了以下路由声明:
import {
RouterModule,
Routes
} from '@angular/router';
import { ContactsComponent } from './contacts.component';
import { NewContactComponent } from './new-contact.component';
const contactsRoutes: Routes = [
{ path: '', component: ContactsComponent },
{ path: 'new', component: NewContactsComponent, outlet: 'form' }
];
export const contactsRouting = RouterModule.forChild(contactsRoutes);
这里是routerLink
上的outlet
和ContactsComponent
:
<a [routerLink]="['.', 'form:new']">
<button md-fab class="md-fab">
<md-icon class="md-24">add</md-icon>
</button>
</a>
<router-outlet name="form"></router-outlet>
但是,这只会导致错误消息,例如
错误:无法匹配任何路线:&#39;联系人/表格%3Anew&#39;
有没有人有Angular2 RC5 / Router3 RC1的工作示例?
答案 0 :(得分:2)
我终于让这个工作了(使用来源,Luke),现在有一个转折点,但我会继续调查,直到找到完整的解决方案。
鉴于此路由设置
const appRoutes: Routes = [
{ path: '', redirectTo: 'welcome', pathMatch: 'full' },
{ path: 'welcome', component: WelcomeComponent },
{ path: 'employee/:id', component: EmployeeDetailComponent }
{ path: 'chat', component: ChatComponent, outlet: 'aux' }
];
也就是说,根路径中的aux路径(这是我提到的扭曲),我可以写
<a [routerLink]="['/', { outlets: { primary: 'employee/14', aux: 'chat' } }]"
并转换为此路线:
/employee/14(aux:chat)
点击此链接然后实际渲染插座中的组件
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: '<router-outlet></router-outlet><router-outlet name="aux"></router-outlet>'
})
export class AppComponent {}
可以找到完整的plnkr here。
一旦我将其用于子组件,我将更新此答案。
答案 1 :(得分:1)
据我所知,它应该像
<a [routerLink]="[{ outlets: { 'aux': ['/employee/14/chat'] } }]">
另见https://angular.io/docs/ts/latest/api/router/index/RouterLink-directive.html