Angular 4 routerLink“无法读取null的属性'outlet'”

时间:2017-10-27 13:14:19

标签: angular

我拥有宇宙中最简单的routerLink:

<a class="btn btn-default" [routerLink]="['/beers']">Cancel</a>

使用以下路线定义:

{ path: 'beers', component: BeersComponent }

突然,它现在抛出了这个错误:

  

TypeError:无法读取null

的属性'outlets'

beers路由的其他相同路由器链接适用于其他视图。其他类似的routerLinks,例如home,适用于此页面。

即使抛出错误,点击它时链接也会起作用。

难住了。有什么想法吗?

Markup error Stack trace

您可以在下面的屏幕截图中看到,呈现的<a>看起来不错,页面上有router-outlet

Rendered markup

修改

RouterModule.forRoot([...])在我的app.module的导入中。

2 个答案:

答案 0 :(得分:0)

在突出显示为错误的那个下方还有另一个routerLink:

<a ng [routerLink]="['/brewery', beer?.brewery?.id]">
    {{beer?.brewery?.name}}
</a>

啤酒加载异步,因此null作为id参数传递。轻松修复。来自Angular的误导性错误消息。

答案 1 :(得分:-1)

在routerlink中使用Outlets

[routerLink]="[{outlets: {primary: ['/beers']}}]"