Angular 6-无法读取null的属性“出口”

时间:2019-06-21 16:02:39

标签: angular angular6

我正在使用角度6 ,当我添加无条件的路由器链接(*ngIf)时,路由器链接会引发“ Cannot read property 'outlets' of null”,但是当我添加条件时在特定部分内,它不会抛出任何错误链接。

示例:

<section>
<a [routerLink]="['/user',x?.username]"> {{x?.username}} </a>
</section>

上面的代码抛出错误。 (无法读取null的属性“插座”) 但是

<section *ngIf="x?.username != null">
<a [routerLink]="['/user',x?.username]"> {{x?.username}} </a>
</section>

这不会引发任何错误。

有人可以指导我吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

routerLink在路由中收到null时,就会发生此问题

答案 1 :(得分:0)

  

无法读取null的属性“插座”

错误消息非常清楚。 x?.username可能来自异步调用,因此您必须等待其设置然后在视图中进行处理。这就是您在条件*ngIf="x?.username != null"下所做的事情。在这里,您正在等待定义或设置用户名以显示链接