欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信小程序拼接圖片鏈接無底洞深入探究

 更新時間:2019年09月03日 10:49:06   作者:padding0  
這篇文章主要給大家介紹了關(guān)于微信小程序拼接圖片鏈接無底洞深入探究的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用微信小程序具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

背景

由于小程序包大小限制,我們一般都會將icon存放到cdn上。現(xiàn)在的開發(fā)流程需要在開發(fā)測試環(huán)境下圖片使用開發(fā)域名,線上使用生產(chǎn)域名。

問題重現(xiàn)

在小程序onLaunch的時候讀取配置文件獲取當(dāng)前環(huán)境,并得到開發(fā)環(huán)境圖片域名:

./app.js

const { imgHostDev, imgHostProd, env } = require('./app.config.js')
App({
 onLaunch: function () {
 this.globalData.imageHost = env == 'dev' ? imgHostDev : imgHostProd
 },
 globalData: {
 imageHost: ''
 }
})

在頁面中:./pages/index/index.js

const app = getApp()

Page({
 data: {
 imgHost: ''
 },
 onLoad: function () {
 this.setData({
  imgHost: app.globalData.imageHost
 })
 }
})

./pages/index/index.wxml

<image src="{{imgHost}}/4jZ1L1qECEOsikW2JKsyHQ==/109951164304393164.jpg" mode="aspectFit"></image>

圖片渲染出來了,但是在開發(fā)者工具中有報錯

VM1334:1 Failed to load local image resource /4jZ1L1qECEOsikW2JKsyHQ==/109951164304393164.jpg
the server responded with a status of 500 (HTTP/1.1 500 Internal Server Error)

手機(jī)預(yù)覽就看不到圖片。。。

分析

看一下報錯信息,說本地不存在/4jZ1L1qECEOsikW2JKsyHQ==/109951164304393164.jpg這個文件。 也就是說頁面在執(zhí)行onLoad之前就已經(jīng)渲染了,這個時候imgHost值為空字符串,image的src拿到的圖片鏈接就是/4jZ1L1qECEOsikW2JKsyHQ==/109951164304393164.jpg,image標(biāo)簽就以為這是本地圖片導(dǎo)致的。

修復(fù)

當(dāng)然修復(fù)的方法有很多,

可以將imgHost在初始化的時候就賦值:

const app = getApp()

Page({
 data: {
 imgHost: app.globalData.imageHost
 },
 onLoad: function () {

 }
})

也可以在標(biāo)簽中做判斷

<image src="{{imgHost ? imgHost + '/4jZ1L1qECEOsikW2JKsyHQ==/109951164304393164.jpg' : ''}}" mode="aspectFit"></image>

更多嘗試

之前都是渲染網(wǎng)絡(luò)圖片,如果讀取本地圖片更換不同文件夾中的同名圖片呢?發(fā)現(xiàn)也是如此。

如果圖片鏈接里有多個變量,就建議在wxs文件中寫一個方法來配置圖片

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論