AngularFireStroreで作業するコレクションを取得し、それを観測可能な配列に割り当てます。ボタンでアクティブ化された関数で、そのコレクションを変更したいと思います。私は次のようにしてそれをしようとしていますが、それはvaorが観測可能なタイプであることを私に示しています。観測可能な配列の内容を操作できますか?
private listBonosImponibles: AngularFirestoreCollection<EmployeeBonos>;
unBonosImponibles: Observable<EmployeeBonos[]>;
constructor(private afs: AngularFirestore, private route: ActivatedRoute) {
this.listBonosImponibles = this.itemDoc.collection<EmployeeBonos>('bonosImponibles');
this.unBonosImponibles =
this.listBonosImponibles.snapshotChanges().map(actions => {
return actions.map(a => {
const data = a.payload.doc.data() as EmployeeBonos;
const id = a.payload.doc.id;
return { id, ...data };
});
});
}
私は成功し、コンストラクタ内の私のコレクションを取得し、私は、コンソールによって得られた配列を表示したい場合、それはにconsole.logを入力していないので、今、それは何も表示されませんが、それにbreackpointを追加し、それはありません私は私の見解
<div *ngFor="let bonoImpo of unBonosImponibles | async" fxLayout="row" >
<label fxFlex="70" >{{ bonoImpo.nombre }}</label>
<mat-form-field class="ml-5" >
<input matInput [(ngModel)]="bonoImpo.valor" />
</mat-form-field>
</div>
<button mat-raised-button (click)="saveEmployee()" color="primary">Guardar</button>
あなたの例ではどこに 'vaor'がありますか?一貫した[mcve]を与えてください(理想的には英語で、起こっていることに従う方が簡単です)。一般に、配列に観測可能な配列にアクセスするには、 '.map'のような観測可能な演算子を使用します。 – jonrsharpe
@jonrsharpeこのコードを変更して、observableにマップを追加すると、コンソールログが内部で実行されていない –
あなたはどこかでそれを購読する必要があります。もしあなたが観測可能なものを返さなければ、 'subscribe'のために' map'をスワップしてください。実際には配列を操作しようとしているようには見えません。 – jonrsharpe