-1

我处于这种情况

在这个地址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:表达式在检查后已更改。以前的值:“假”。当前值:“真”。

有什么建议么?

4

1 回答 1

0

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

于 2018-04-16T10:15:04.750 回答