Angular 5 outlet router-outlet以编程方式

时间:2018-01-19 15:18:33

标签: angular5 outlet router-outlet

我正处于这种状况

在此地址 localhost:4200 / pathlvl1 / pathlvl2 我有一个组件,用于加载带有路由器插座的HTML页面

<a [routerLink]="['./', {outlets: {'nameOutlet': ['test']}}]"> TEST </a>
<router-outlet name="nameOutlet"></router-outlet>

链接工作。

我会在组件

中以编程方式使用此链接
import { Component, OnInit} from '@angular/core';
import { Routes, RouterModule, Router } from '@angular/router';


@Component({
    selector: 'app-temp',
    templateUrl: './temp.component.html'
})
export class TempComponent implements OnInit {

    constructor(private router: Router ) {}

    ngOnInit(): void {
        this.router.navigate(['./', {outlets: {nameOutlet: ['test']}}]);
    }
}

但是出了点问题

我不认为是路由问题导致直接链接工作

这是错误

错误:ExpressionChangedAfterItHasBeenCheckedError:表达式在检查后发生了变化。上一个值:'false'。当前价值:'true'。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我通过将路由器导航调用封装在setTimeout中来解决这个问题。