Я пытаюсь получить коллекцию "гексов" (это для карты с шестигранной сеткой), а затем разделить их на строки.
Насколько я понимаю, лучшая практика состоит в том, чтобы сделать вызов всервис, затем подпишитесь и делайте все, что вам нужно делать с данными.
Я могу получить данные, отсортировать их по строкам, и консоль записать в журнал строки, чтобы увидеть, что они есть, но они не отображаются на странице, поэтому я должен что-то неправильно понять.Спасибо за любые указатели, спасибо!
Обновление
Так что после некоторого дополнительного исследования может показаться, что проблема в том, что переменнаяОбновление во время подписки не вызывает обновление в представлении.Я не уверен, но подумал, что идея могла бы помочь, если бы кто-то еще боролся с этим.
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>