【发布时间】:2018-03-22 03:36:58
【问题描述】:
我正在使用 Angular 4,并且我有一个组件,我想在其中更改我的用户当前照片.. 所以显示当前用户照片的 html 代码是这样的..
<div class="profilphoto">
<img src= {{currentphoto}}>
</div>
currentphoto 包含当前用户照片 url,我从 firebase 获取它。 之后,我显示一个照片库,以便用户可以选择一个并使用表单更改他的个人资料照片。提交代码如下,并且工作正常
onSubmit = function(form) {
this.photoUrl = form.photoUrl;
firebase.database().ref("users/"+this.authService.cusername+"/photo").update({
url: form.photoUrl
}).then(()=>{
this.currentphoto = this.authService.photourl;
console.log("currentphoto:"+this.currentphoto);
}
);
}
一切正常,除了尽管 currentphoto 值已更改并且数据库 url 已更新,html 仍显示前一个用户的图像及其烦人(如果我刷新页面它显示新的配置文件图像)..有什么办法可以让
<div class="profilphoto">
<img src= {{currentphoto}}>
</div>
检测 currentphoto 何时更改值并显示具有新 src 值的图像??
【问题讨论】:
-
不应该是
[src]="currentphoto"吗? -
'currentphoto' 有新值吗?如果值相同(换句话说,图像更改但 url 保持不变),您将必须在 url 中添加一个随机数,作为查询字符串。比如stackoverflow.com/questions/17394440/…
-
是的,抱歉,如果我没有说清楚。当前照片值包含标准图像网址,因此当用户更改配置文件图像时,当前照片值会更改
标签: javascript jquery html angular typescript