Установка и настройка angularfire2 - нужна помощь в понимании коллекции в качестве примера - PullRequest
0 голосов
/ 25 августа 2018

Я новичок в Angular и angularfire2 и могу использовать некоторую помощь с примерами Установка и настройка , предоставленными на GitHub .

Я выполнил все инструкции до конца, но # 8. Привязать коллекцию Firestore к списку не работает для меня, как описано, список не возвращается из app.component.html. Когда я добавляю директиву *ngFor вместе с конвейером async в шаблон, как показано в документации, и запускаю приложение. Это просто все пусто, выводится только {{title}}. Я не получаю ошибок в консоли.

Но если я console.log(this.items); возвращает Observable И, как я понимаю, это ожидается, поскольку вам нужно subscribe или async трубу на Observable.

Observable
operator: MapOperator {project: ƒ, thisArg: undefined}
source: Observable {_isScalar: false, _subscribe: ƒ}
_isScalar: false
__proto__: Object

Почему этот простой пример из документов не работает для меня? Почему я не вижу два документа, которые я храню в коллекции в Firestore?

Приложение / app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { AngularFireModule } from 'angularfire2';
import { AngularFirestoreModule } from 'angularfire2/firestore';
import { AngularFireStorageModule } from 'angularfire2/storage';
import { AngularFireAuthModule } from 'angularfire2/auth';
import { environment } from '../environments/environment';

@NgModule({
  imports: [
    BrowserModule,
    AngularFireModule.initializeApp(environment.firebase),
    AngularFirestoreModule,
    AngularFireAuthModule,
    AngularFireStorageModule
  ],
  declarations: [AppComponent],
  bootstrap: [AppComponent]
})
export class AppModule {}

Приложение / app.component.ts

import { Component } from '@angular/core';
import { AngularFirestore } from 'angularfire2/firestore';
import { Observable } from 'rxjs';

@Component({
  selector: 'app-root',
  templateUrl: 'app.component.html',
  styleUrls: ['app.component.css']
})
export class AppComponent {
  title = 'Animal list';
  items: Observable<any[]>;
  constructor(db: AngularFirestore) {
    this.items = db.collection('items').valueChanges();
    console.log(this.items);
  }
}

Приложение / app.component.html

<h1>{{title}}</h1>
<ul>
  <li class="text" *ngFor="let item of items | async">
    {{item.name}}
  </li>
</ul>

SRC / сред / environments.ts

export const environment = {
  production: false,
  firebase: {
    apiKey: '...',
    authDomain: '...',
    databaseURL: '...',
    projectId: '...',
    storageBucket: '...',
    messagingSenderId: '...'
  }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...