声明时未定义的变量

时间:2019-12-20 12:43:53

标签: angular typescript firebase firebase-realtime-database angularfire2

我正在创建一个小型应用,该应用从Firebase读取数据并将其存储在名为“ actualiteNews”的表中 它告诉我在声明它时未定义

import { Injectable} from '@angular/core';
import {AngularFireDatabase} from 'angularfire2/database';

@Injectable({
  providedIn: 'root'
})
export class ActualiteService  {
  actualiteNews : any[];


  constructor(dataBaseFire : AngularFireDatabase) {
    dataBaseFire.list('/news').valueChanges().subscribe(actualiteNews => {
      this.actualiteNews = actualiteNews;
      console.log(this.actualiteNews);
    });

   }

getActualite(Temptitre:string){
    return this.actualiteNews.find(value =>value.titre === Temptitre);
  }

  getActualiteNews(){
    return this.actualiteNews;
  }
}

1 个答案:

答案 0 :(得分:2)

 actualiteNews : any[] = [];

是的,但已声明,但您必须将默认值设置为空数组。您可能正在模板中进行actualiteNews.length,但尚未定义actualiteNews。这就是它破裂的原因。