刷新图像-可观察的角度

时间:2018-11-26 15:30:53

标签: angular firebase onchange angularfire

我使用angular 6,firebase和angularfire。

我这样显示图像:

import { AngularFireStorage } from 'angularfire2/storage';

  @Component({
  selector: 'app-geo',
  templateUrl: '  <img mat-card-image [src]="profileUrl | async" >

})
export class GeoComponent {


profileUrl: Observable<string | null>;

constructor( private storage: AngularFireStorage) 
  { 
  const ref = this.storage.ref('live/live.jpg');
  this.profileUrl = ref.getDownloadURL();        }

但是我的图像每30秒更改一次,但在我的应用程序中没有更改。我必须重新加载页面才能看到更改。

这正常吗?

谢谢

1 个答案:

答案 0 :(得分:1)

如果我对您的理解是正确的,那么你是说上传到存储设备中的文件(位于存储设备中this.storage.ref('live/live.jpg');处的 )每30秒更改一次-例如,有人重新每30秒在现有文件的顶部上传一个不同的图像?您希望将其反映在最终用户的屏幕上吗?是的-您必须重新加载页面才能看到新图像的事实是完全正常的,并且是预期的。

目前尚无在Firebase中订阅您所描述的文件的实现。如果您可以通过image carousels完成所需的工作,只需一次性下载所有想要的图像,然后循环浏览它们,那对您来说绝对容易完成。

如果您确实需要实时更改照片,则必须使用Firebase的实时数据库或Firestore,并订阅一组数据-该组数据是最近上传的URL图片。作为上传过程的一部分(或作为自动触发的云功能),最终的URL将被添加到URL的队列/列表中。然后,您可以使用AngularFire2之类的软件包来帮助您订阅该队列/ URL列表。