几乎没有任何关于网络辅助路线的信息,RC5/RC1就更是如此,我希望这里有人能设法让他们工作(我听说他们应该已经修好了,但仅此而已)。
我得到了以下路由声明:
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
on 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>
但是,这只会导致错误消息,例如
错误:无法匹配任何路由:“联系人/窗体%3ANew”
有人有Angular2 RC5/Router3 3 RC1的工作示例吗?
发布于 2016-08-18 08:45:07
我终于让它工作了(使用源代码,卢克),但我将继续研究直到找到完整的解决方案。
给定这个路由设置
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可以找到这里。
一旦我把它用于子组件,我将更新这个答案。
发布于 2016-08-18 03:04:58
据我所知,应该是
<a [routerLink]="[{ outlets: { 'aux': ['/employee/14/chat'] } }]">
另见https://angular.io/docs/ts/latest/api/router/index/RouterLink-directive.html
https://stackoverflow.com/questions/39016531
复制相似问题