小程序開(kāi)發(fā)遇到的問(wèn)題(微信小程序開(kāi)發(fā)過(guò)程中遇到的問(wèn)題)
本篇文章給大家談?wù)勑〕绦蜷_(kāi)發(fā)遇到的問(wèn)題,以及微信小程序開(kāi)發(fā)過(guò)程中遇到的問(wèn)題對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
小程序開(kāi)發(fā)的難點(diǎn)是什么?
小程序開(kāi)發(fā)的難點(diǎn)有:如何通過(guò)技術(shù)手段提升開(kāi)發(fā)效率以應(yīng)對(duì)不斷增長(zhǎng)的業(yè)務(wù)需求?微信小程序的工程化探索有哪些最新進(jìn)展?如何實(shí)現(xiàn)小程序自動(dòng)化構(gòu)建、自動(dòng)化測(cè)試?
如何將小程序開(kāi)發(fā)與團(tuán)隊(duì)現(xiàn)有的技術(shù)棧有機(jī)結(jié)合?如何適配 H5、React Native微信小程序等多端需求?如何擴(kuò)展小程序的能力、滿(mǎn)足產(chǎn)品設(shè)計(jì)上的復(fù)雜需求?如何突破小程序包大小的限制?
如何解決頁(yè)面層級(jí)限制問(wèn)題?在遇到長(zhǎng)列表場(chǎng)景時(shí),小程序渲染性能會(huì)出現(xiàn)瓶頸,如何進(jìn)行性能優(yōu)化?由于微信小程序中缺少對(duì) DOM 的控制,該如何滿(mǎn)足復(fù)雜交互需求?【點(diǎn)擊查看小程序開(kāi)發(fā)底價(jià)】
想要了解更多有關(guān)小程序開(kāi)發(fā)的相關(guān)信息,推薦咨詢(xún)豬八戒網(wǎng)。豬八戒網(wǎng)成立于2006年,是中國(guó)領(lǐng)先的企業(yè)服務(wù)平臺(tái),服務(wù)交易獨(dú)角獸企業(yè)。豬八戒網(wǎng)現(xiàn)有注冊(cè)用戶(hù)2800萬(wàn)、在全國(guó)布局線下數(shù)字化創(chuàng)業(yè)園區(qū)超過(guò)100個(gè)。十余年來(lái),累計(jì)有10萬(wàn)余個(gè)人通過(guò)平臺(tái)孵化成長(zhǎng)為公司,超過(guò)100萬(wàn)人通過(guò)平臺(tái)實(shí)現(xiàn)靈活就業(yè),千萬(wàn)企業(yè)通過(guò)平臺(tái)解決專(zhuān)業(yè)服務(wù)需求;專(zhuān)業(yè)性值得選擇。
小程序開(kāi)發(fā)經(jīng)驗(yàn)總結(jié)
最近一直在做小程序,工作中也遇到了一些問(wèn)題,踩了一些坑,所以想著寫(xiě)篇文章記錄下來(lái),并借此將小程序開(kāi)發(fā)的相關(guān)知識(shí)進(jìn)行梳理,方便以后參考,也為剛剛接觸小程序的人提供一些思路方法,互相學(xué)習(xí),共同進(jìn)步。
1、微信小程序的目錄結(jié)構(gòu)及配置說(shuō)明
app.json是小程序的全局配置文件,所有配置項(xiàng)key必須使用 雙引號(hào)括起來(lái) ,value值為字符串類(lèi)型的也必須使用雙引號(hào), 不支持單引號(hào) 。
1.1 pages
pages選項(xiàng)是必須配置的。該配置項(xiàng)注冊(cè)了小程序所有頁(yè)面的地址,其中每一項(xiàng)都是頁(yè)面的 路徑+文件名 。每一個(gè)頁(yè)面都是由.json、.js、.wxml、.wxss四個(gè)文件組成,并且 四個(gè)文件的名字必須要一致 。
1.2 ? tabBar
tabBar 配置項(xiàng)指定 tab 欄的表現(xiàn),以及 tab 切換時(shí)顯示的對(duì)應(yīng)頁(yè)面。其中 list 接受一個(gè)數(shù)組,只能配置最少 2 個(gè)、最多 5 個(gè) tab
1.3?usingComponents
使用自定義組件或者插件提供的組件前,必須先在這里聲明
2、開(kāi)發(fā)微信小程序遇到的問(wèn)題及解決辦法
2.1 雙向綁定
微信小程序不支持通過(guò)v-model的方式實(shí)現(xiàn)自動(dòng)雙向綁定,需要給表單元素通過(guò)綁定事件,并使用this.setData來(lái)賦值實(shí)現(xiàn)。
2.2 computed和watch
微信小程序默認(rèn)是不支持computed和watch的,如需要使用這兩項(xiàng)功能,需要安裝miniprogram-computed ,安裝方法見(jiàn) 官方文檔
2.3 對(duì)象賦值
如果給對(duì)象的屬性賦值,可以使用this.setData({'obj.key':value})來(lái)賦值,但是如果給某個(gè)屬性名是變量的屬性賦值,通過(guò)這種方法是會(huì)報(bào)錯(cuò)的,經(jīng)過(guò)多次嘗試,發(fā)現(xiàn)使用如下的方式賦值成功。
let newObj = `obj.${key}`
this.setData({
[newObj]: value
})
2.4 scroll-view
當(dāng)頁(yè)面存在彈框容器,并且彈框里的內(nèi)容是需要滾動(dòng)條滾動(dòng)展示時(shí),如果彈框下面那層的容器使用view元素的話,會(huì)導(dǎo)致滾動(dòng)彈框內(nèi)容時(shí),同時(shí)會(huì)觸發(fā)彈框下面那層的頁(yè)面容器也會(huì)一起滾動(dòng),解決此問(wèn)題可以將彈框下面的容器使用scroll-view元素替代view元素
3、小程序測(cè)試和發(fā)布
由于服務(wù)器域名request合法域名每個(gè)月 只能修改5次 ,因此在本地開(kāi)發(fā)小程序時(shí),需要在微信調(diào)試工具中設(shè)置不校驗(yàn)合法域名。等小程序上線前再一次性將所有域名添加到小程序管理后臺(tái)。
以上便是此次小程序開(kāi)發(fā)中積累的一些經(jīng)驗(yàn),希望能給剛剛接觸小程序的人提供一些思路方法,在以后的開(kāi)發(fā)中,如果遇到新的問(wèn)題,繼續(xù)更新文檔......
微信小程序開(kāi)發(fā)中遇到的坑及解決辦法
taro單獨(dú)為某個(gè)項(xiàng)目切換taro版本環(huán)境
單獨(dú)為某一個(gè)項(xiàng)目升級(jí)#這樣做的好處是全局的 Taro 版本還是 1.x 的,多個(gè)項(xiàng)目間的依賴(lài)不沖突,其余項(xiàng)目依然可以用舊版本開(kāi)發(fā)。 如果你的項(xiàng)目里沒(méi)有安裝 Taro CLI,你需要先裝一個(gè):
# 如果你使用 NPM
$ npm install --save-dev @tarojs/cli@2.x
# 如果你使用 Yarn
$ yarn add -D @tarojs/cli@2.x
echarts在小程序中滑動(dòng)卡頓
由于微信小程序中,echarts的層級(jí)最高,無(wú)論設(shè)置多大層級(jí)也無(wú)法遮住echarts。而且小程序中好像只能用echarts吧。所以為了解決這個(gè)bug,我只能委屈求全了。打開(kāi)ec-canvas.wxml文件,將touchStart、touchMove和touchEnd去掉了,直接刪除就好啦。這三個(gè)事件應(yīng)該是做縮放的吧,我們也沒(méi)有這個(gè)縮放的需求。所以就去掉了。雖然暫時(shí)滿(mǎn)足的需求,還是沒(méi)有真正的解決問(wèn)題。
原:
bindinit="init"
bindtouchstart="{{ ec.disableTouch ? '' : 'touchStart' }}"
bindtouchmove="{{ ec.disableTouch ? '' : 'touchMove' }}"
bindtouchend="{{ ec.disableTouch ? '' : 'touchEnd' }}"
現(xiàn):
bindinit="init"
echarts在小程序中無(wú)法跟隨頁(yè)面滑動(dòng)
在卡頓問(wèn)題中能與echarts交互少的,可以直接使用圖片代替cannvas,即在echarts渲染完畢后將它替換為一張圖片。
如果我更新了數(shù)據(jù),那么就重新放出echarts,等它渲染完畢后,再次替換為一張圖片。
chart.on('finished', () = {
getCurrentInstance().page.selectComponent(id).canvasToTempFilePath({
success: res = {
console.log('res.tempFilePath====',res.tempFilePath)
this.setState({
echartImgSrc: res.tempFilePath
? ? ? })
},
? ? fail: res =console.log('轉(zhuǎn)換圖片失敗', res)
});
})
render:
this.state.echartImgSrc =='' ?
? ref={this.refChart}
id={this.state.id}
canvas-id="mychart-area"
? force-use-old-canvas="true"
? ec={this.state.ec}
/
:
CoverImage src={this.state.echartImgSrc}/CoverImage
小程序開(kāi)發(fā)遇到的問(wèn)題的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于微信小程序開(kāi)發(fā)過(guò)程中遇到的問(wèn)題、小程序開(kāi)發(fā)遇到的問(wèn)題的信息別忘了在本站進(jìn)行查找喔。