我正在try 从Observable数组中获取一个随机元素以在模板中使用.目前我正在使用
@Select(SomeState.tiles) tiles$: Observable<Tile[]>;
和
getR和omTile$(): Observable<Tile> {
return this.tiles$.pipe(
map(tiles => {
return tiles[Math.floor(Math.r和om() * tiles.length)];
})
);
}
和 in the template
<ng-container *ngFor="let tile of othertiles; index as i">
<div *ngIf="i % 8 == 0 && (tiles$ | async)?.length">
<ng-container *ngIf="getR和omTile$() | async; let r">
<img [src]="r.imgUrl" />
</ng-container>
</div>
</ng-container>
然而,滚动时图像会发生变化,因为它似乎在不断更新.
在get方法中添加take(1)
似乎也没有帮助.
有人知道如何让它正确工作吗?:)