Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度模板中的问号是什么?_Angular_Firebase_Firebase Realtime Database_Angularfire2 - Fatal编程技术网

Angular 角度模板中的问号是什么?

Angular 角度模板中的问号是什么?,angular,firebase,firebase-realtime-database,angularfire2,Angular,Firebase,Firebase Realtime Database,Angularfire2,我正在查看angular firebase文档,我看到: @Component({ selector: 'app-root', template: ` <h1>{{ (item | async)?.name }}</h1> `, }) export class AppComponent { item: FirebaseObjectObservable<any>; constructor(db: AngularFireDatabase)

我正在查看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');
  }
}
@组件({
选择器:'应用程序根',
模板:`
{{(项目|异步)?.name}
`,
})
导出类AppComponent{
项目:FirebaseObjectObservable;
构造函数(db:AngularFireDatabase){
this.item=db.object('/item');
}
}
(项目|异步)
之后签名做什么


在模板中执行
未定义的.someProperty
不是很好吗?

它被称为“Elvis操作符”或安全导航操作符。它会通知模板需要显示的值可能还不可用,并允许模板继续呈现,并在以后填充该值


它可以避免在数据到达之前呈现模板时出现“未定义”错误,可能是来自服务或数据库。

您可以轻松地在Google上搜索“?operator angular”,并找到您问题的答案……谢谢聪明的家伙!值得指出的是,如果已知该属性(即“name”)是非空属性,那么就不需要使用?存在异步管道时的运算符。这甚至可能是一个问题,如果“项”未加载,将防止出现有用的错误。