在线看国产黄av免费|国产呻吟久久久久久久|欧美日韩国产911在线|国产成人综合亚洲无码中字|国产精品成人VA在线播放|亚洲无码电影视频在线播放|亚洲精品网站在线观看你懂的|久久人午夜亚洲精品无码区性色

微信小程序開(kāi)發(fā)有哪些坑(微信小程序開(kāi)發(fā)難嗎)

小程序開(kāi)發(fā) 4281
今天給各位分享微信小程序開(kāi)發(fā)有哪些坑的知識(shí),其中也會(huì)對(duì)微信小程序開(kāi)發(fā)難嗎進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!本文目錄一覽: 1、微信小程序開(kāi)發(fā)中遇到的坑及解決辦法

今天給各位分享微信小程序開(kāi)發(fā)有哪些坑的知識(shí),其中也會(huì)對(duì)微信小程序開(kāi)發(fā)難嗎進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!

本文目錄一覽:

微信小程序開(kāi)發(fā)中遇到的坑及解決辦法

taro單獨(dú)為某個(gè)項(xiàng)目切換taro版本環(huán)境

單獨(dú)為某一個(gè)項(xiàng)目升級(jí)#這樣做的好處是全局的 Taro 版本還是 1.x 的,多個(gè)項(xiàng)目間的依賴不沖突,其余項(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é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ā)經(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值為字符串類型的也必須使用雙引號(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ā)微信小程序的“雷區(qū)”有哪些?

微信小程序的優(yōu)勢(shì):無(wú)需下載,無(wú)需安裝注冊(cè),即點(diǎn)即用,不主動(dòng)推送廣告。微信小程序的優(yōu)勢(shì)直抵app用戶的心扉,這不就是用戶想要的體驗(yàn)嗎?因此微信小程序的用戶體驗(yàn)是其必須要保證的底線,一切傷害用戶體驗(yàn)的行為,是開(kāi)發(fā)者都不能碰觸的原則。

游戲類小程序“濫用分享”行為

在4月份,群聊被小程序分享搞的亂糟糟,群里有三個(gè)人分享小游戲就已經(jīng)霸屏,看不到聊天信息了,用戶體驗(yàn)一度被踐踏。很快,微信官方將一下兩種行為界定為違規(guī),第一種,強(qiáng)制用戶分享小游戲到群包括分享到不同群,就是小游戲結(jié)束時(shí)彈出分享小游戲到群/不同群,可獲得第二次生命繼續(xù)游戲。第二種,誘導(dǎo)用戶分享到群,可獲得免費(fèi)道具,或得到雙倍積分等利益。

如過(guò)開(kāi)發(fā)是出現(xiàn)如此違規(guī)行為,會(huì)對(duì)小游戲的搜索能力、分享能力、廣告及道具結(jié)算能力進(jìn)行限制,情節(jié)嚴(yán)重這將面臨下架處理。

因?yàn)椤盃I(yíng)銷濫用”行為,關(guān)閉個(gè)人小程序“公關(guān)/推廣/市場(chǎng)調(diào)查”和“廣告/設(shè)計(jì)”類目。

微信小程序的注冊(cè)門(mén)檻較低,無(wú)論是個(gè)人還是企業(yè)、商鋪、政府、媒體,都可以申請(qǐng)。由于小程序是獲取新流量的高效手段,導(dǎo)致?tīng)I(yíng)銷行為泛濫,狠狠的傷害了用戶體驗(yàn)。只對(duì)個(gè)人小程序?yàn)E用“商務(wù)服務(wù)”和“廣告/設(shè)計(jì)”兩大類目通過(guò)審核,來(lái)進(jìn)行無(wú)節(jié)制營(yíng)銷行為的情況,微信方面表示,個(gè)人小程序?qū)o(wú)法通過(guò)“商務(wù)服務(wù)-公關(guān)/推廣/市場(chǎng)調(diào)查”和“廣告/設(shè)計(jì)”的類目審核,也將不再對(duì)個(gè)人小程序開(kāi)放。

“授權(quán)濫用”行為

在挺早前就有針對(duì)“授權(quán)濫用”行為的限制,當(dāng)用戶初次使用小程序是,強(qiáng)制要求用戶授權(quán)昵稱、頭像、手機(jī)號(hào)、地理位置等信息,如果用戶不同意,繼續(xù)跳轉(zhuǎn)授權(quán)頁(yè)面,影響用戶正常使用小程序。對(duì)騰訊自己的小程序“騰訊投票”也做了違規(guī)處理,就看出騰訊的決心。

現(xiàn)在微信已經(jīng)對(duì)用戶授權(quán)流程進(jìn)行了優(yōu)化,只有特定場(chǎng)景才需要用戶授權(quán)指定信息。

微信小程序藍(lán)牙入坑總結(jié)

?? 微信小程序的藍(lán)牙流程按著官網(wǎng)的說(shuō)明寫(xiě)就可以了,具體參看文檔: 小程序開(kāi)發(fā)文檔

坑列表:

??? 1.成對(duì)調(diào)用需要注意, wx.openBluetoothAdapter 與 wx.closeBluetoothAdapter

??????????????????????????????????????? wx.startBluetoothDevicesDiscovery 與 wx.stopBluetoothDevicesDiscovery

???? 2.安卓與IOS的區(qū)別:安卓可以根據(jù)藍(lán)牙標(biāo)識(shí)直接連接,IOS則必須先搜索才能進(jìn)行連接;

???? 3.權(quán)限問(wèn)題:IOS的系統(tǒng)不能僅僅打開(kāi)系統(tǒng)的藍(lán)牙權(quán)限,因?yàn)镮OS新版本針對(duì)藍(lán)牙做了應(yīng)用及的限制,因此需要給微信藍(lán)牙權(quán)限才可以使用;對(duì)于安卓系統(tǒng),部分手機(jī)必須打開(kāi)定位權(quán)限才能搜索到藍(lán)牙設(shè)備

???? 4.創(chuàng)建連接API( wx.createBLEConnection )調(diào)用失敗:

??????????? 超時(shí)報(bào)錯(cuò):{"errCode":10012,"errMsg":"createBLEConnection:fail:operate time out"}

??????????? 連接超時(shí):{"errCode":10003,"errMsg":"createBLEConnection:fail connect time out."}

??????????? 連接失敗:{"errCode":10003,"errMsg":"createBLEConnection:fail:connection fail status:133"}

?????????? 基本都是安卓手機(jī)出現(xiàn)以上問(wèn)題,針對(duì)這些報(bào)錯(cuò),需編寫(xiě)重試連接操作,很大概率能解決此問(wèn)題;

???? 5.搜索不到任何設(shè)備,安卓手機(jī)可能是定位權(quán)限的問(wèn)題造成,蘋(píng)果手機(jī)基本就是設(shè)備出問(wèn)題了

???? 6.網(wǎng)絡(luò)請(qǐng)求與藍(lán)牙請(qǐng)求盡量分開(kāi),因?yàn)樗{(lán)牙連接會(huì)受到影響,造成一些異常信息;

???? 7.所有API調(diào)用針對(duì)fail函數(shù)最好都做一次重試,因?yàn)樵俅沃卦嚳赡芫蜁?huì)成功;、

???? 8.API調(diào)用之間最好有一定毫秒數(shù)的間隔,目前懷疑api部分機(jī)型會(huì)存在延時(shí);

總之微信的藍(lán)牙連接就那些已知的接口,調(diào)用時(shí)多考慮異常的情況下的重試,簡(jiǎn)單總結(jié)下,以便查閱。

???????????

????

小程序開(kāi)發(fā)有哪些坑

1. JSON 配置文件小程序中,包含唯一的全局配置文件?app.json,以及每個(gè)頁(yè)面的配置文件?page.json。每單頁(yè)頁(yè)面相應(yīng)的 JSON 文件會(huì)覆蓋與?app.json?相同的配置項(xiàng)。如下,是一個(gè)包含了所有配置選項(xiàng)的簡(jiǎn)單配置?app.json。"pages": [ //設(shè)置頁(yè)面的路徑"pages/index/index", //不需要寫(xiě)index.wxml,index.js,index,wxss,框架會(huì)自動(dòng)尋找并整合"pages/logs/logs"],"window": { //設(shè)置默認(rèn)窗口的表現(xiàn)形式

"navigationBarBackgroundColor": "#ffffff", //頂部導(dǎo)航欄背景色

"navigationBarTextStyle": "black", //頂部導(dǎo)航文字的顏色 black/white

"navigationBarTitleText": "微信接口功能演示", //頂部導(dǎo)航的顯示文字

"backgroundColor": "#eeeeee", //窗口的背景色

"backgroundTextStyle": "light", //下拉背景字體、loading 圖的樣式,僅支持 dark/light

"enablePullDownRefresh": "false", //是否支持下拉刷新 ,不支持的話就直接不寫(xiě)!

"disableScroll": true, // ?設(shè)置true不能上下滾動(dòng),true/false,注意!只能在 page.json 中有效,無(wú)法在 app.json 中設(shè)置該項(xiàng)。},"tabBar": { //底部tab或者頂部tab的表現(xiàn),是個(gè)數(shù)組,最少配置2個(gè),最多5個(gè)

"list": [{ //設(shè)置tab的屬性,最少2個(gè),最多5個(gè)

"pagePath": "pages/index/index", //點(diǎn)擊底部 tab 跳轉(zhuǎn)的路徑

"text": "首頁(yè)", //tab 按鈕上的文字

"iconPath": "../img/a.png", //tab圖片的路徑

"selectedIconPath": "../img/a.png" //tab 在當(dāng)前頁(yè),也就是選中狀態(tài)的路徑

}, { ? ?"pagePath": "pages/logs/logs", ? ?"text": "日志"

}], ?"color": "red", //tab 的字體顏色

"selectedColor": "#673ab7", //當(dāng)前頁(yè) tab 的顏色,也就是選中頁(yè)的

"backgroundColor": "#2196f3", //tab 的背景色

"borderStyle": "white", //邊框的顏色 black/white

"position": "bottom" //tab處于窗口的位置 top/bottom

},"networkTimeout": { //默認(rèn)都是 60000 秒一分鐘

"request": 10000, //請(qǐng)求網(wǎng)絡(luò)超時(shí)時(shí)間 10000 秒

"downloadFile": 10000, //鏈接服務(wù)器超時(shí)時(shí)間 10000 秒

"uploadFile": "10000", //上傳圖片 10000 秒

"downloadFile": "10000" //下載圖片超時(shí)時(shí)間 10000 秒

},"debug": true //項(xiàng)目上線后,建議關(guān)閉此項(xiàng),或者不寫(xiě)此項(xiàng)

2. JS 邏輯層

小程序的邏輯層由 JavaScript 語(yǔ)言完成。但因?yàn)樾〕绦虿辉跒g覽器中運(yùn)行,所以 JS 在 web 瀏覽器中的一些函數(shù)不能用,如?document、window?等。

app.js?有全局的小程序生命周期,page.js?有自己本頁(yè)面的生命周期。

2.1 注冊(cè)小程序?app.js

這一步驟,有這幾個(gè)需要注意的地方:

必須在?app.js?中,使用?app()?函數(shù)注冊(cè)微信小程序。全局小程序中,只能注冊(cè)一次;

不能在?app()?內(nèi)的函數(shù)中調(diào)用?getApp()(小程序?qū)嵗?,使?this?就可以拿到小程序的實(shí)例;

不要在?onLaunch?的時(shí)候?getCurrentPage(),因?yàn)榇藭r(shí)?page?還沒(méi)有生成;

通過(guò)其他子頁(yè)面調(diào)用?getApp()?獲取實(shí)例后,不要私自調(diào)用小程序全局的生命周期方法;

可以通過(guò)?var app=getApp()?獲取小程序的實(shí)例。

app ( { ?// 小程序生命周期的各個(gè)階段

?onLaunch: function(){},//當(dāng)小程序初始化完成時(shí),會(huì)觸發(fā) onLaunch(全局只觸發(fā)一次)

?onShow: function(){},//當(dāng)小程序啟動(dòng),或從后臺(tái)進(jìn)入前臺(tái)顯示,會(huì)觸發(fā) onShow

?onHide: function(){},//當(dāng)小程序從前臺(tái)進(jìn)入后臺(tái)隱藏,會(huì)觸發(fā) onHide

?onError: function(){},//當(dāng)小程序發(fā)生腳本錯(cuò)誤,或者 api 調(diào)用失敗時(shí),會(huì)觸發(fā) onError 并帶上錯(cuò)誤信息

?// 自定義函數(shù)或者屬性,用 this可以訪問(wèn)

?...

})

2.2 注冊(cè)小程序的頁(yè)面?page.js

Page()?用來(lái)注冊(cè)一個(gè)頁(yè)面,維護(hù)該頁(yè)面的生命周期以及數(shù)據(jù)。

Page({ ?data: { //頁(yè)面的初始數(shù)據(jù)//調(diào)用:{{text}} {{array[0].msg}}

? ?text: 'init data', ? ?array: [{ ? ? ?msg: '1'

? ?}, { ? ? ?msg: '2'

? ?}]

?}, ?// 頁(yè)面生命周期的各個(gè)階段

?onLoad: function () {}, //生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載

?onShow: function () {}, //生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面初次渲染完成

?onReady: function () {}, //生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面顯示

?onHide: function () {}, //生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面隱藏

?onUnload: function () {}, //生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面卸載

?onPullDownRefresh: function () {}, //頁(yè)面相關(guān)事件處理函數(shù)。如果需要監(jiān)聽(tīng)用戶下拉動(dòng)作,需要 在app.json中配置 ?"enablePullDownRefresh":"true" 允許上拉刷新

?onReachBottom: function () {}, //頁(yè)面上拉觸底事件的處理函數(shù)

?onShareAppMessage: function () { //用戶點(diǎn)擊右上角分享

? ?return { ? ? ?title: '自定義分享標(biāo)題', ? ? ?desc: '自定義分享描述', ? ? ?path: '/page/user?id=123'

? ?}

?}, ?// 自定義函數(shù)或者屬性如:

?customData: { ? ?hi: 'MINA'

?}...

})

2.3 公共模塊?util.js

公共模塊方法需要通過(guò)?module.exports?對(duì)外暴露接口,使用的時(shí)候需要利用?require(path),將文件引入。如:

function sayHello(name) {//公共方法util類

?console.log(`Hello ${name} !`)

}module.exports.sayHello = sayHello//用module.exports 對(duì)外暴露接口

//先引入文件,是新建的一個(gè) utils 包,公共方法在 util.js 里面var util = require('../../utils/util.js')

Page({//調(diào)用類

?onLoad: function () {// ?使用時(shí),用 util 引用名調(diào)用,如:util.sayHello()

? ?util.sayHello('我是傳的值');

?}

})

2.4 數(shù)據(jù)操作

setData()?不能直接操作數(shù)據(jù),例如?this.data.text="xxxxx"?就是錯(cuò)誤的。你需要在?this.setData ()?之中,進(jìn)行數(shù)據(jù)的操作。

同時(shí),這里有作用域的問(wèn)題。比如,需要在局部函數(shù)中使用,就需要?.bind(this)。

如果你需要操作全局的數(shù)據(jù),你需要在 app.js 中進(jìn)行相應(yīng)設(shè)置,例如:

App({// app.js

?globalData: 1})// 某 page.jsconsole.log(getApp().globalData)

3. 視圖層 WXML

視圖層的數(shù)據(jù)綁定均來(lái)自于?Page?中的?data,想要修改相應(yīng)值,你需要用到?this.setData。數(shù)據(jù)綁定使用兩對(duì)花括號(hào),將變量名包起來(lái)。

3.1 條件渲染

你可以利用?if?和?else,在視圖層上編寫(xiě)在特定情況下,出現(xiàn)的不同的視圖結(jié)果。

view wx:if="{{zhenjiaa=='123'}}"123334/viewview wx:if="{{zhanjia}}"123334/viewview wx:if="{{len 5}}"大于5我就顯示了 /viewview wx:if="{{length 5}}" 1 /viewview wx:elif="{{length 2}}" 2 /viewview wx:else 3 /viewblock wx:if="{{true}}"view view1 /viewview view2 /view/block

很多人會(huì)將 CSS 中的?display: hidden?屬性,將其做一個(gè)比較。

微信小程序中的?wx:if?是惰性的。如果不符合渲染條件,它不會(huì)渲染相應(yīng)部分;

使用?display: hidden?時(shí),元素始終渲染,只是視圖層上沒(méi)有顯示,用戶看不見(jiàn)。

如果你的小程序有元素顯示頻繁切換的需求,建議你使用?display: hidden,能夠?yàn)橛脩籼峁┠茼槙车氖褂皿w驗(yàn)。

3.2 列表渲染

相當(dāng)于讓 WXML 處理一個(gè)循環(huán)。

在 WXML 中,你可以這樣來(lái)建立一個(gè) for 循環(huán):

view wx:for="{{array}}" {{index}}:{{item}} /view

然后在相應(yīng)的 JS 中,新建一個(gè)數(shù)組:

page.jsPage({ ?data: {

? ?array: [1, 2, 3, 4, 5]

?}

})

需要注意的是,如果列表中的項(xiàng)需要?jiǎng)討B(tài)添加到列表中,并希望項(xiàng)目保持原有的特征和狀態(tài),那么你應(yīng)該使用?wx:key。

wx:key?有兩種形式:

字符串:wx:key="unique"

保留關(guān)鍵字:wx:key="*this"

3.3 運(yùn)算

WXML 可以執(zhí)行簡(jiǎn)單的運(yùn)算任務(wù)。例如:

view {{a + b}} + {{c}} + d /view

也可以做到字符串拼接:

view{{"hello" + name}}/view

甚至,你可以使用?...?在 WXML 中展開(kāi)對(duì)象。

3.4 模板

name?定義組件模版的名稱,引用模版的時(shí)候使用?is?屬性指定模版的名字,is?可以進(jìn)行簡(jiǎn)單的三目運(yùn)算,需要傳入模版需要的?data?數(shù)據(jù)。

因?yàn)槟0鎿碛凶约旱淖饔糜?,所以只能使?data 傳入數(shù)據(jù),而不接受雙花括號(hào)的寫(xiě)法。

template name="msgItem"viewtext {{index}}: {{msg}} /texttext Time: {{time}} /text/view/template!-- 其他代碼 --template is="msgItem" data="{{...item}}"/

3.5 公共模塊的引用

WXML 提供?import?和?include?兩種文件引用方式。

import?有作用域的概念,不能多重引用。

!-- B.wxml --import src="a.wxml"/!-- A.wxml --template name="A"

text A template /text/template

而?include?就可以多重引用了。

!--引用 header、其中 header.wxml 中也引用了 footer.wxml--include src="header.wxml"/view body /view!-- header.wxml --view header /viewinclude src="footer.wxml"/

3.6 事件

名稱以?bind?開(kāi)頭的事件不阻止冒泡,名稱以?catch?開(kāi)頭的事件冒泡是阻止的。如?bindTap?和?catchTab。

在 WXML 中,可以使用?dataset?定義?data?中的數(shù)據(jù),會(huì)通過(guò)事件傳遞。它的事件以?data-?開(kāi)頭,多個(gè)單詞以?-?鏈接,如?data-a-b。

需要注意的是,使用這種方式定義的變量不能有大寫(xiě)。它會(huì)自動(dòng)轉(zhuǎn)成駝峰命名,調(diào)取的時(shí)候去駝峰命名的名字。

4. WXSS

WXSS 的用法類似于 CSS,并在 CSS 的基礎(chǔ)上,擴(kuò)展了 rpx 尺寸單位和樣式導(dǎo)入功能。

WXSS 可以使用內(nèi)聯(lián)樣式,但這樣會(huì)影響渲染速度。

每個(gè)頁(yè)面自己的?page.wxss?樣式表,會(huì)覆蓋全局樣式表?app.wxss。

微信小程序開(kāi)發(fā)有哪些坑的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于微信小程序開(kāi)發(fā)難嗎、微信小程序開(kāi)發(fā)有哪些坑的信息別忘了在本站進(jìn)行查找喔。

掃碼二維碼