angular 模板中的问号是什么?
what is the question mark in an angular template?
我正在查看 angular firebase 文档,我看到了这个:
@Component({
selector: 'app-root',
template: `
<h1>{{ (item | async)?.name }}</h1>
`,
})
export class AppComponent {
item: FirebaseObjectObservable<any>;
constructor(db: AngularFireDatabase) {
this.item = db.object('/item');
}
}
(item | async)
后面的?
是做什么用的?
在模板中做undefined.someProperty
不就可以了吗?
调用 'Elvis Operator' 或安全导航运算符。它通知模板需要显示的值可能还不可用,并允许模板继续渲染并在以后填充该值。
当您的模板在数据到达(可能来自服务或数据库)到达之前呈现时,它可以避免您遇到 'undefined' 错误。
我正在查看 angular firebase 文档,我看到了这个:
@Component({
selector: 'app-root',
template: `
<h1>{{ (item | async)?.name }}</h1>
`,
})
export class AppComponent {
item: FirebaseObjectObservable<any>;
constructor(db: AngularFireDatabase) {
this.item = db.object('/item');
}
}
(item | async)
后面的?
是做什么用的?
在模板中做undefined.someProperty
不就可以了吗?
调用 'Elvis Operator' 或安全导航运算符。它通知模板需要显示的值可能还不可用,并允许模板继续渲染并在以后填充该值。
当您的模板在数据到达(可能来自服务或数据库)到达之前呈现时,它可以避免您遇到 'undefined' 错误。