Angular 5-在FirebaseListObservable内部仅转换数组

时间:2018-09-27 15:54:47

标签: javascript angular firebase angular5 observable

我正在尝试仅处理FirebaseListObservable中名为fichas的一项,将其从Array转换为String,但对snapshot无效。

constructor(private db: AngularFireDatabase) {

  fichas: FirebaseListObservable<Fichas[]>;

  this.fichas.subscribe((snapshots) => {
        snapshots.forEach(snapshot => {
          snapshot.combustivel.join(" "); //==> this changes nothing!
          this.data.push(snapshot);                  
        });
      })
  console.log(this.data);
}

Fichas.ts(类):

export class Fichas {
    $key                  : string;
    ativo                 : boolean;
    fabricante            : string;
    nome                  : string;
    ano_fabr              : string;
    ano_model             : string;
    tipo_motor            : string;
    outro_tipo_motor      : string;
    ciclo_motor           : string;
    combustivel           : string[];
    ...
}

当前,它在控制台上显示为combustivel: (2) ["Gasolina", "Etanol"],但我需要类似combustivel: "Gasolina Etanol"的东西。

其他元素不能更改,仅此一个。

1 个答案:

答案 0 :(得分:0)

.join不会更改连接的数组,而是返回一个字符串。因此,只需将对象更改到位并推入即可:

snapshot.combistivel = snapshot.combustivel.join(" ");
this.data.push(snapshot);   

相应地更新您的定义:

export class Fichas {
...
combustivel           : string[] || string;
...

}