我必须在app.component.ts中,其中一个的名称是name='popup':
@Component({
selector: 'app-main',
template: `<router-outlet></router-outlet>
<router-outlet name="popup"></router-outlet>`
})
export class AppComponent implements OnInit {
public construnctor(){ }
ngOnInit(){ }
}
我的路线定义是:
export const myappRoute: Routes =[
{
path: '',
component : DataEntryComponent
},
{
path: 'templateModal',
component: TemplateModalComponent,
outlet: 'popup'
}
];
export const TemplateRoute: ModuleWithProvider = RouterModule.forChild(myappRoute);
当我尝试使用以下代码打开“templatemodal”路由时:
<button type='submit' [routerLink]="['/' , {outlets: {popup : 'templateModal'}}]" replaceUrl="true"> open </button>
我犯了一个错误,说不能用url段templatemodal匹配任何路由。
我的角度是5
这是stackblitz的试镜:https://stackblitz.com/edit/angular-n2eaje
最佳答案
如果是辅助的(即命名的),请为顶级路由使用非空路径
路由存在于延迟加载的模块中。
<button type='submit' [routerLink]="['home', {outlets:{popup:['templateModal']}}]"> open </button>`
并将template url替换为template,因为您添加的是模板视图而不是url
像,
@Component({
selector: 'app-main',
template: `<router-outlet></router-outlet>
<router-outlet name="popup"></router-outlet>`
})
以下是最新的Stackblitz
关于angular - 无法在其他 socket 上打开路线,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52050336/