我有Angular 4.3.6项目,其中模板片段会产生此错误。
模板块:
function makeCreator(obj) {
return (...args) => {
let { type: obj.type, ...exceptType } = obj;
Object.keys(exceptType).forEach((key, index) => {
exceptType[key] = args[index];
});
return {
type: obj.type,
...exceptType,
};
}
}
错误堆栈跟踪:
<a [routerLink]="['/article',article?.id]">{{article?.title}}</a>
错误原因似乎很明显。 article变量从Http获取异步并在页面呈现后初始化,因此首先它为null。不过我认为那么推?在此变量之后允许避免此问题。
你能告诉我吗?
答案 0 :(得分:27)
?
中的{p> article?.id
工作正常,但RouterLink
指令并不想让null
通过。
你可以使用类似的东西:
<a *ngIf="article" [routerLink]="['/article',article?.id]">{{article?.title}}</a>
<a *ngIf="!article">{{article?.title}}</a>
答案 1 :(得分:0)
<a [routerLink]="['/language',language.iso639_1 || 'all']" >{{language.name}}</a>
我也面临着同样的问题(无法读取null的属性“插座” ),但我编写的上述代码对我有用。