Ionic 4:当我从 IOS 中的控制器更改“img”标签的“src”内容时,它没有更新
Posted
技术标签:
【中文标题】Ionic 4:当我从 IOS 中的控制器更改“img”标签的“src”内容时,它没有更新【英文标题】:Ionic 4: The "src" content of an "img" tag is not updating when I change it from the controller in IOS 【发布时间】:2020-06-02 19:00:41 【问题描述】:我有一个个人资料页面,用户可以在其中更改个人资料图片。照片出现在视图中并实时更改。
我的代码在视图中是这样的:
<img style="width:15vh; height:15vh; border-radius: 50%;" src="pictureusuariomenu">
pictureusuariomenu 是控制器中的一个变量。
我所做的是使用该变量,它是我上传的图像的 URL,我在那里更新它。这是函数:
updateStoredImages(name)
this.storage.get(STORAGE_KEY).then(images =>
let arr = JSON.parse(images);
if (!arr)
let newImages = [name];
this.storage.set(STORAGE_KEY, JSON.stringify(newImages));
else
arr.push(name);
this.storage.set(STORAGE_KEY, JSON.stringify(arr));
let filePath = this.file.dataDirectory + name;
let resPath = this.pathForImage(filePath);
// alert(resPath);
this.urlImage=resPath;
let newEntry =
name: name,
path: resPath,
filePath: filePath
;
this.images=[]; //borrar las imagenes anteriores (no crear la lista de imagenes)
this.images = [newEntry, ...this.images];
this.urlImage = this.images[0].path;
this.colocarImagenEnProfile(this.urlImage);
this.ref.detectChanges(); // trigger change detection cycle
);
在这一行:
this.colocarImagenEnProfile(this.urlImage);
我做的是:
colocarImagenEnProfile(newFileName)
this.pictureusuariomenu=newFileName;
现在在 android 中,这种更新视图中的个人资料图像的方式可以正常工作:
之前:
之后:
但在 IOS 中这是行不通的。视图根本没有更新
之前:
之后:
什么都没有出现,只有几个字母。但在 IOS 中视图不会更新。
会是什么?
我的规格:
【问题讨论】:
【参考方案1】:你忘了绑定它。把它代替你的 html 标签:
<img style="width:15vh; height:15vh; border-radius: 50%;" [src]="pictureusuariomenu">
我不知道为什么,但你必须以这种方式绑定它。 此外,您必须使用 window.Ionic.WebView.convertFileSrc();功能,如果使用角度,则需要对其进行消毒。像这样:
this.sanitize.bypassSecurityTrustResourceUrl(window.Ionic.WebView.convertFileSrc(path))
【讨论】:
以上是关于Ionic 4:当我从 IOS 中的控制器更改“img”标签的“src”内容时,它没有更新的主要内容,如果未能解决你的问题,请参考以下文章
当我使用 ionic 从 IOS 设备发送数据时,PHP 错误地接收到数据
如何更改 Ionic 2 iOS 应用程序的位置访问描述?我正在为我的应用程序使用科尔多瓦地理定位插件