Angular Firebase - ряд строений по данным пожарного депо - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь получить коллекцию "гексов" (это для карты с шестигранной сеткой), а затем разделить их на строки.

Насколько я понимаю, лучшая практика состоит в том, чтобы сделать вызов всервис, затем подпишитесь и делайте все, что вам нужно делать с данными.

Я могу получить данные, отсортировать их по строкам, и консоль записать в журнал строки, чтобы увидеть, что они есть, но они не отображаются на странице, поэтому я должен что-то неправильно понять.Спасибо за любые указатели, спасибо!

Обновление

Так что после некоторого дополнительного исследования может показаться, что проблема в том, что переменнаяОбновление во время подписки не вызывает обновление в представлении.Я не уверен, но подумал, что идея могла бы помочь, если бы кто-то еще боролся с этим.

TS -

Служба AF:

  constructor(private db:AngularFirestore) { }

  getHexes(){
    return this.db.collection('hexes', ref=> ref.orderBy('id')).valueChanges()
  }

Компонент карты

this.dbHexes = this.afs.getHexes()
.subscribe(data => {
    data.forEach((hex, index) => {
      let rowNum = Math.floor(index / 10)

  if(this.hexRows[`row${rowNum}`] == undefined){
    this.hexRows[`row${rowNum}`] = []
  }
  this.hexRows[`row${rowNum}`].push(hex)
})
console.log('HexRows', this.hexRows)

  })

HTML

Компонент карты

<div 
  *ngFor="let row of hexRows" 
>
  <h1>Row!</h1>
</div>
...