【发布时间】:2020-07-11 08:48:11
【问题描述】:
我是 typescript 和 angular 的新手,我试图使用 angularfire2 从 firebase 获取一些数据,并将其分配给变量以供以后在其他一些函数中使用。我只熟悉javascript点表示法,我使用点表示法访问对象的成员似乎不适用于角度,有人可以帮我从模型中提取数据到变量,请
我仍然很难理解 Observable 和订阅。
代码
型号
export class Reacts {
sad?: number;
happy?: number;
neutral?: number;
}
服务
import { Injectable } from "@angular/core";
import {
AngularFirestore,
AngularFirestoreCollection,
AngularFirestoreDocument
} from "angularfire2/firestore";
import { Reacts } from "../models/reacts";
import { Observable } from "rxjs";
@Injectable({
providedIn: "root"
})
export class ReactService {
mapCollection: AngularFirestoreCollection<Reacts>;
reacts: Observable<Reacts[]>;
constructor(public afs: AngularFirestoreDocument) {
this.reacts = this.afs.collection("reacts").valueChanges();
}
getItems() {
return this.reacts;
}
}
组件
import { Component, OnInit } from "@angular/core";
import { Reacts } from 'src/app/models/reacts';
import { ReactService } from 'src/app/services/react.service';
@Component({
selector: "app-reacts",
templateUrl: "./reacts.component.html",
styleUrls: ["./reacts.component.css"]
})
export class ReactsComponent implements OnInit {
react: Reacts[];
happy: number;
sad: number;
neutral:number;
constructor(private reactsService: ReactService ) {}
ngOnInit(): void {
this.reactsService.getItems().subscribe(reacts => {
this.react = reacts;
console.log(reacts); //this works print an array object of data from database
this.happy= reacts.happy// what i'm trying to achieve
});
}
}
【问题讨论】:
标签: javascript angular typescript firebase