我想使用ngForAngular 2将 Firebase 查询的结果绑定到我的模板。这很容易在下面实现。
成分:
export class FeaturedThreadsComponent {
threads: FirebaseListObservable<any[]>;
qualitySubject: Subject<any>;
constructor(af: AngularFire) {
this.qualitySubject = new Subject();
this.threads = af.database.list('/threads', {
query: {
orderByChild: 'quality',
endAt: 5
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
模板:
<div *ngFor="let thread of threads | async">
{{thread.title}}
</div>
Run Code Online (Sandbox Code Playgroud)
但是如果我想使用ngFor嵌套在模板中的另一个指令来列出子对象的键......
<div *ngFor="let thread of threads | async">
{{thread.title}}
<div *ngFor="let participant of thread.participants">
{{participant.$key}}}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我收到控制台错误, Cannot find a differ supporting object '[object Object]' of type 'object'. NgFor only supports …
我阅读了 Firebase 中的多对多关系问题,
这里描述了如何在 firebase(nosql 数据库)中创建或构建多对多关系,这很容易,
companyContractors
companyKey1
contractorKey1: true
contractorKey3: true
companyKey2
contractorKey2: true
contractorCompanies
contractorKey1
companyKey1: true,
companyKey2: true
contractorKey2
companyKey2: true
contractorKey3
companyKey1: true
Run Code Online (Sandbox Code Playgroud)
但是当我想获得所有承包商的特定公司时,我可以只使用一个请求吗?因为在这种情况下,我只得到 id 列表,在那里之后,使用 js 循环或 forEach,我做了多个请求。
通常在其他 API 上,我只使用
URL/contractor/:id/company or
URL/company/:id/contractors
Run Code Online (Sandbox Code Playgroud)
如何在firebase上做到这一点?
有一个使用angular2,angularfire2的例子会很酷,
谢谢
javascript nosql firebase firebase-realtime-database angularfire2
如何获取登录用户?
我这样做: console.log('登录...'); this.afAuth.auth.signInWithEmailAndPassword(this.email, this.password);
但是文档并不清楚如何让用户进入代码。它们在模板中显示了一种方式,但我需要存储当前用户。
firebase firebase-authentication angularfire2 google-cloud-firestore
我正在尝试获取对文档 UID 的引用,以便我可以通过其 UID 在项目中的其他位置使用该文档。根据文档,我正在使用 AngularFire2 (v5) 执行以下操作:
var ref= this.afs.collection(placeToAdd).doc();
Run Code Online (Sandbox Code Playgroud)
这给了我以下错误:“预期 1 个参数,但得到 0”。它希望我在 doc() 方法中添加一个参数。所以,我这样做:
var ref= this.afs.collection(placeToAdd).doc(thing);
Run Code Online (Sandbox Code Playgroud)
然后我设置我的 Firebase 对象:
ref.set({
item1: 'value 1',
item2: 'value 2',
item3: 'value 3'
});
Run Code Online (Sandbox Code Playgroud)
现在如何获取引用的 Firestore 生成的 UID?
我正在尝试使用 angularFire 2 在 firebase 中登录并创建帐户。电话登录有一个运行良好的 reCaptcha 字段。使用电子邮件和密码创建帐户也工作正常,但我想在创建表单(如电话登录功能)中使用 reCaptcha,但我没有找到方法,可以在 angularFire 中使用电子邮件和密码创建帐户并使用 reCaptcha 验证。我也尝试过文档,但没有这样的。如果 Angular Fire 2 中有类似的选项,请帮助我。我正在使用"angularfire2": "^4.0.0-rc.1",
我刚刚升级到 AngularFire2 rc 5.0。
我修改了我的代码,使其与新类型和功能相匹配,但是在尝试订阅 a 时出现以下错误.object(path):
Property 'subscribe' does not exist on type 'AngularFireObject'
Run Code Online (Sandbox Code Playgroud)
我的代码如下。
供应商:
getEvent(id: string): AngularFireObject<any> {
let path = `/events/${id}`;
return this.af.object(path).valueChanges();
}
Run Code Online (Sandbox Code Playgroud)
页:
...
event$: AngularFireObject<any>;
...
// Retrieve event's info
this.event$ = this.eventService.getEvent(this.id);
// Retrieve event's ownership info
let subscription = this.event$.subscribe(event => {
this.owner$ = this.userService.getUserPublicInfo(event.owner);
});
Run Code Online (Sandbox Code Playgroud)
任何的想法?
observable ionic-framework angularfire2 angular angularfire5
在我的 Angular 应用程序中,Firebase 返回一个显示bad-app-name为代码的错误。我在 angular 应用程序中使用 angularfire2。
我已经仔细检查了 Firebase 配置,没问题,那么如何解决这个错误。
app.components.ts
import { Component, OnInit } from '@angular/core';
import { FormsModule, NgForm } from "@angular/forms";
import { AngularFireDatabase } from "angularfire2/database";
import { Router } from '@angular/router';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent{
isLoggedIn: boolean = false;
courses: any[];
constructor(public db: AngularFireDatabase) {
db.list('/Courses').valueChanges().subscribe(courses => {
this.courses = courses;
console.log(this.courses);
});
}
login() {
this.isLoggedIn = !this.isLoggedIn;
}
user:any;
saveData(formData) {
if (formData.valid) …Run Code Online (Sandbox Code Playgroud) 这是保存在数据库中并重用 angularfire2 返回的 urlgetDownloadURL()而不是getDownloadURL()每次需要显示来自 Firebase 存储的图像时执行的好做法吗?
如果我getDownloadURL()在组件中使用,则每次访问组件时都会重新加载图像。我想避免这种情况。如果我在上传图像后将 url 保存在我的数据库中,然后每次需要显示图像时都使用这个 url,这可以解决问题。但是,这可能不是正确的方法,Firebase 存储可能会在某个时候更新 url。
我@angular/fire在我的项目中使用 firebase。为了测试与 firebase 服务的集成,我firebase emulators: start在命令行中运行。在为 angular 应用程序提供服务ng serve --open时,每当我进行更改并保存任何文件时,页面都会重新加载,并且我会自动退出 Firebase 帐户。这仅在使用 Firebase 模拟器时发生。我不知道这是否是@angular/firefirebase auth 模拟器的问题。这非常令人沮丧,因为我需要登录 angular 应用程序中的每个文件更改。
我的 App.module.ts 对提供者有以下配置。每当我登录
providers: [
{
provide: USE_AUTH_EMULATOR,
useValue: environment.useEmulators ? ["localhost", 9099] : undefined,
},
{
provide: USE_DATABASE_EMULATOR,
useValue: environment.useEmulators ? ["localhost", 9000] : undefined,
},
{
provide: USE_FIRESTORE_EMULATOR,
useValue: environment.useEmulators ? ["localhost", 8080] : undefined,
},
{
provide: USE_FUNCTIONS_EMULATOR,
useValue: environment.useEmulators ? ["localhost", 5001] : undefined,
},
],
Run Code Online (Sandbox Code Playgroud)
编辑 1:我通过注入AngularFireAuth …
javascript firebase-tools firebase-authentication angularfire2 angular