无法读取 Angular 中的 属性 'outlets' 空值 4

Cannot read property 'outlets' of null in Angular 4

我有 Angular 4.3.6 项目,其中模板片段产生此错误。

模板块:

<a [routerLink]="['/article',article?.id]">{{article?.title}}</a>

错误堆栈跟踪:

ArticleSpComponent.html:26 ERROR TypeError: Cannot read property 'outlets' of null
    at createNewSegmentGroup (router.es5.js:2967)
    at updateSegmentGroup (router.es5.js:2896)
    at router.es5.js:2914
    at forEach (router.es5.js:593)
    at updateSegmentGroupChildren (

错误原因似乎很明显。 article 变量是从 Http 异步获取的,并在页面呈现后初始化,因此首先它是空的。但是我认为推杆?在这个变量允许避免这个问题之后。

能请教一下吗?

? in article?.id 工作正常,但 RouterLink 指令不喜欢让 null 通过。

您可以使用类似的方法解决问题:

<a *ngIf="article" [routerLink]="['/article',article?.id]">{{article?.title}}</a>
<a *ngIf="!article">{{article?.title}}</a>
 <a  [routerLink]="['/language',language.iso639_1 || 'all']" >{{language.name}}</a>

我也遇到了同样的问题(无法读取 null 的 属性 'outlets' ) 但我编写的上述代码对我有用。