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 【问题描述】:

我正在开发适用于 androidios 的应用程序。

我有一个个人资料页面,用户可以在其中更改个人资料图片。照片出现在视图中并实时更改。

我的代码在视图中是这样的:

<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 错误地接收到数据

iOS:如何更改应用程序中只有一个视图控制器的方向?

iOS - 故事板中的导航控制器

如何更改 Ionic 2 iOS 应用程序的位置访问描述?我正在为我的应用程序使用科尔多瓦地理定位插件

每次我在 Ionic GADApplicationIdentifier 键更改上准备 ios 应用程序以测试 [关闭]

当我从控制器更改时,Angular ng-style 不会自动应用更改