日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

微信小程序开发

發(fā)布時(shí)間:2023/12/31 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信小程序开发 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

下載地址:https://mp.weixin.qq.com/

新建一個(gè)項(xiàng)目,效果如下:

微信小程序的各級(jí)目錄介紹:

app.js是全局的JavaScript代碼,app.json是全局的配置文件,app.wxss是全局css文件
如果全局代碼和局部代碼沖突時(shí),全局代碼優(yōu)先級(jí)高

資源管理器中有幾個(gè)頁(yè)面,在app.json中的pages當(dāng)中就得寫幾個(gè)頁(yè)面,完全相同,第一個(gè)表示首頁(yè)的路徑,可以在pages當(dāng)中增加路徑,保存之后自動(dòng)生成對(duì)應(yīng)的文件,app.json當(dāng)中的window就是頁(yè)面外觀的樣式

js文件當(dāng)中的代碼都要寫在page()函數(shù)當(dāng)中
onLaunch():小程序第一次加載時(shí)執(zhí)行的代碼
navigationBarBackgroundColor:導(dǎo)航欄背景顏色設(shè)置
微信小程序規(guī)定頁(yè)面當(dāng)中的js配置文件如果是空的,就要?jiǎng)h除

頁(yè)面結(jié)構(gòu):
各文件夾當(dāng)中的json和js文件的作用是替代app.json和app.js文件


window當(dāng)中的屬性:

nBBC:導(dǎo)航條的背景顏色
nBTS:導(dǎo)航條當(dāng)中的文字顏色
nBTT:導(dǎo)航條當(dāng)中的文字內(nèi)容
bC:窗口的背景顏色(當(dāng)開啟下拉刷新時(shí)才能看見顏色)
bTS:下拉刷新時(shí)小點(diǎn)的背景色(light和dark)
ePDR:開啟下拉刷新

頁(yè)面當(dāng)中的json配置文件只能設(shè)置window內(nèi)容

標(biāo)簽欄的配置:app.json當(dāng)中的tabBar屬性


tabBar屬性必須是2個(gè)以上5個(gè)以下,text為內(nèi)容,pagePath為超鏈接,selected表示被選中的

數(shù)據(jù)綁定:類似vue框架當(dāng)中的插值表達(dá)式,只不過(guò)不需要id屬性,更加方便



插值表達(dá)式可以用在元素的內(nèi)部,并且不需要v-bind屬性來(lái)綁定內(nèi)容

插值表達(dá)式的其他用途:

pages當(dāng)中的函數(shù)

/*** 生命周期函數(shù)--監(jiān)聽頁(yè)面加載*/onLoad: function (options) {console.log('監(jiān)聽頁(yè)面');},/*** 生命周期函數(shù)--監(jiān)聽頁(yè)面初次渲染完成*/onReady: function () {console.log('頁(yè)面初次渲染完成');},/*** 生命周期函數(shù)--監(jiān)聽頁(yè)面顯示*/onShow: function () {console.log('監(jiān)聽頁(yè)面顯示');},/*** 生命周期函數(shù)--監(jiān)聽頁(yè)面隱藏*/onHide: function () {console.log('監(jiān)聽頁(yè)面隱藏');},/*** 生命周期函數(shù)--監(jiān)聽頁(yè)面卸載*/onUnload: function () {console.log('監(jiān)聽頁(yè)面卸載');},/*** 頁(yè)面相關(guān)事件處理函數(shù)--監(jiān)聽用戶下拉動(dòng)作*/onPullDownRefresh: function () {},/*** 頁(yè)面上拉觸底事件的處理函數(shù)*/onReachBottom: function () {},/*** 用戶點(diǎn)擊右上角分享*/onShareAppMessage: function () {},

循環(huán)結(jié)構(gòu):wx:for ="{{ 對(duì)象 }}"類似vue的v-for循環(huán)

在循環(huán)中{{ index }}可以拿到循環(huán)數(shù)組的下標(biāo)

基本的事件是bind+事件名組成
點(diǎn)擊事件:bindtap,微信小程序的函數(shù)也可以接受參數(shù)
阻止冒泡的方法:把內(nèi)部的點(diǎn)擊事件設(shè)置為catchtap,不會(huì)產(chǎn)生冒泡事件
微信小程序在函數(shù)當(dāng)中的this指向的還是頁(yè)面
微信小程序想要給函數(shù)傳遞參數(shù)不能使用函數(shù)名+()的形式,但是可以通過(guò)e.target.dataset可以拿到自定義屬性,自定義屬性用data-屬性名=‘屬性值’的方式定義
頁(yè)面對(duì)象也就是page,this.data.屬性可以拿到插值表達(dá)式當(dāng)中定義的屬性和數(shù)據(jù)

雙向數(shù)據(jù)綁定的方法(類似Vue當(dāng)中的v-model):
插值表達(dá)式是一次性的過(guò)程,頁(yè)面顯示完數(shù)據(jù)之后再更改數(shù)據(jù)的值時(shí),頁(yè)面不會(huì)發(fā)生變化,需要使用
this.setData({ 屬性:新值 })函數(shù)改變數(shù)據(jù)值,才能實(shí)時(shí)響應(yīng)到頁(yè)面當(dāng)中,這個(gè)屬性是data數(shù)據(jù)當(dāng)中的屬性,如果想給數(shù)組對(duì)象當(dāng)中的某個(gè)屬性賦值,這個(gè)屬性必須加引號(hào)

e.detail.value可以拿到表單的內(nèi)容,e就是頁(yè)面對(duì)象

獲取表單當(dāng)中輸入的數(shù)據(jù):form標(biāo)簽綁定事件bindsubmit,button按鈕綁定form-type事件,input當(dāng)中要有name屬性

條件渲染:wx:if
標(biāo)簽的作用:把需要被控制的代碼塊(wx:開頭的代碼)寫在block標(biāo)簽當(dāng)中,可以起到同時(shí)控制的作用,但是block標(biāo)簽不會(huì)顯示,也沒(méi)有任何額外的功能,類似span標(biāo)簽

微信小程序獨(dú)有的尺寸單位:rpx ;

小程序UI開發(fā):組件的使用方法,size屬性可以控制圖標(biāo)和表單的大小

<view class="container"><view class="icon-box"><icon class="icon-box-img" type="success" size="93"></icon><view class="icon-box-ctn"><view class="icon-box-title">成功</view><view class="icon-box-desc">用于表示操作順利完成</view></view></view><view class="icon-box"><icon class="icon-box-img" type="info" size="93"></icon><view class="icon-box-ctn"><view class="icon-box-title">提示</view><view class="icon-box-desc">用于表示信息提示;也常用于缺乏條件的操作攔截,提示用戶所需信息</view></view></view><view class="icon-box"><icon class="icon-box-img" type="warn" size="93" color="#C9C9C9"></icon><view class="icon-box-ctn"><view class="icon-box-title">普通警告</view><view class="icon-box-desc">用于表示操作后將引起一定后果的情況;也用于表示由于系統(tǒng)原因而造成的負(fù)向結(jié)果</view></view></view><view class="icon-box"><icon class="icon-box-img" type="warn" size="93"></icon><view class="icon-box-ctn"><view class="icon-box-title">強(qiáng)烈警告</view><view class="icon-box-desc">用于表示由于用戶原因造成的負(fù)向結(jié)果;也用于表示操作后將引起不可挽回的嚴(yán)重后果的情況</view></view></view><view class="icon-box"><icon class="icon-box-img" type="waiting" size="93"></icon><view class="icon-box-ctn"><view class="icon-box-title">等待</view><view class="icon-box-desc">用于表示等待,告知用戶結(jié)果需等待</view></view></view><view class="icon-box"><view class="icon-small-wrp"><icon class="icon-small" type="success_no_circle" size="23"></icon></view><view class="icon-box-ctn"><view class="icon-box-title">多選控件圖標(biāo)_已選擇</view><view class="icon-box-desc">用于多選控件中,表示已選擇該項(xiàng)目</view></view></view><view class="icon-box"><view class="icon-small-wrp"><icon class="icon-small" type="circle" size="23"></icon></view><view class="icon-box-ctn"><view class="icon-box-title">多選控件圖標(biāo)_未選擇</view><view class="icon-box-desc">用于多選控件中,表示該項(xiàng)目可被選擇,但還未選擇</view></view></view><view class="icon-box"><view class="icon-small-wrp"><icon class="icon-small" type="warn" size="23"></icon></view><view class="icon-box-ctn"><view class="icon-box-title">錯(cuò)誤提示</view><view class="icon-box-desc">用于在表單中表示出現(xiàn)錯(cuò)誤</view></view></view><view class="icon-box"><view class="icon-small-wrp"><icon class="icon-small" type="success" size="23"></icon></view><view class="icon-box-ctn"><view class="icon-box-title">單選控件圖標(biāo)_已選擇</view><view class="icon-box-desc">用于單選控件中,表示已選擇該項(xiàng)目</view></view></view><view class="icon-box"><view class="icon-small-wrp"><icon class="icon-small" type="download" size="23"></icon></view><view class="icon-box-ctn"><view class="icon-box-title">下載</view><view class="icon-box-desc">用于表示可下載</view></view></view><view class="icon-box"><view class="icon-small-wrp"><icon class="icon-small" type="info_circle" size="23"></icon></view><view class="icon-box-ctn"><view class="icon-box-title">提示</view><view class="icon-box-desc">用于在表單中表示有信息提示</view></view></view><view class="icon-box"><view class="icon-small-wrp"><icon class="icon-small" type="cancel" size="23"></icon></view><view class="icon-box-ctn"><view class="icon-box-title">停止或關(guān)閉</view><view class="icon-box-desc">用于在表單中,表示關(guān)閉或停止</view></view></view><view class="icon-box"><view class="icon-small-wrp"><icon class="icon-small" type="search" size="14"></icon></view><view class="icon-box-ctn"><view class="icon-box-title">搜索</view><view class="icon-box-desc">用于搜索控件中,表示可搜索</view></view></view></view>

進(jìn)度條:progress(類似mui框架的進(jìn)度條)

在微信小程序中,hover表示按下,hover-class表示按下之后的class屬性

操作反饋:交互操作組件,必須通過(guò)調(diào)用API方式使用

flex伸縮布局:flex布局就是一個(gè)彈性的盒子,當(dāng)盒子內(nèi)的內(nèi)容增多時(shí),不需要更改代碼也能實(shí)現(xiàn)很好的布局方式

子盒子會(huì)以主軸為方向,占滿整個(gè)側(cè)軸的空間,如果給最右邊盒子添加flex:1屬性,則會(huì)占滿右邊的內(nèi)容,如果給全部的子盒子都添加flex:1屬性,則每個(gè)子盒子會(huì)平分父盒子。這個(gè)flex的值可以設(shè)置為任何數(shù),它占多少取決于自身的值/總值,彈性盒子是可以相互嵌套的

頁(yè)面跳轉(zhuǎn):
微信小程序的超鏈接標(biāo)簽是navigator,url是鏈接地址,如果在navigator標(biāo)簽當(dāng)中添加redirect屬性,則頁(yè)面沒(méi)有返回按鈕,直接替換,并且不會(huì)產(chǎn)生訪問(wèn)記錄。navigator當(dāng)中的hover-class屬性為點(diǎn)擊添加的類名屬性

微信小程序和網(wǎng)頁(yè)一樣,在跳轉(zhuǎn)頁(yè)面時(shí)如果想要傳遞參數(shù),則需要在url鏈接之后使用?+參數(shù)名=‘參數(shù)值’的形式傳遞,在對(duì)應(yīng)網(wǎng)頁(yè)的js文件當(dāng)中的onLoad函數(shù)中,option為第一個(gè)頁(yè)面?zhèn)鬟f過(guò)來(lái)的參數(shù)值

頁(yè)面跳轉(zhuǎn)API:wx.navigateTo函數(shù)
頁(yè)面返回AIP:wx.navigateBack({ delta:1 }),delta可以設(shè)置返回到第幾個(gè)頁(yè)面

微信小程序中標(biāo)簽的class等屬性可以通過(guò)對(duì)數(shù)據(jù)的三元表達(dá)式來(lái)判斷布爾值來(lái)設(shè)置不同的屬性

輪播圖:微信小程序自帶一個(gè)輪播圖的組件

//定義輪播圖的組件 <swiper class='slides'>//每一個(gè)被輪播的單項(xiàng),當(dāng)中放的是圖片<swiper-item><image src=""></image></swiper-item> </swiper>

微信小程序?qū)Ψ?wù)器端發(fā)送請(qǐng)求:發(fā)送的請(qǐng)求不在是ajax,微信小程序沒(méi)有跨域的概念,請(qǐng)求地址可以寫任意的地址。請(qǐng)求的地址必須在后臺(tái)添加白名單,域名必須備案,而且必須是https。
自己開發(fā)可以在微信小程序開發(fā)工具勾選不檢驗(yàn)合法域名

wx.request:

wx.request({url: 'url',header:{'Content-Type':'json'},/*success函數(shù)的三種方法:success:function(res){console.log(res);}success(res){console.log(res);}*/success:res =>{console.log(res);}fail:function(res){}})

把請(qǐng)求函數(shù)封裝在公共文件utils當(dāng)中,通過(guò)es6的方法導(dǎo)出使用

util.js代碼部分:

module.exports = (url,data) => {return new Promise((resolve,reject) => {wx.request({url: `https://www.baidu.com/${url}`,success:resolve,fail:reject})}) }

index.js部分代碼:

//引入util.js,require當(dāng)中為字符串類型的數(shù)據(jù),并且該行代碼寫在js文件最上方 const fetch = require("../../utils/util");

使用方法:

fetch('url').then( res => {執(zhí)行代碼 })

微信小程序下拉加載更多信息:移動(dòng)端的下拉加載信息本質(zhì)也是PC端的分頁(yè)加載,觸底時(shí)加載第二頁(yè)的數(shù)據(jù)

原理:
服務(wù)器端:在數(shù)據(jù)庫(kù)中有很多表,每個(gè)表中都有一個(gè)id屬性,并且從1遞增
頁(yè)面端:在data中定義一個(gè)空數(shù)組和第幾次查詢,在給服務(wù)器端發(fā)送請(qǐng)求時(shí)附帶一個(gè)請(qǐng)求參數(shù)。這個(gè)請(qǐng)求參數(shù)表示第幾次查詢,并且用limit限制查詢的數(shù)據(jù),把每次請(qǐng)求過(guò)來(lái)的全部數(shù)據(jù)都追加到這個(gè)數(shù)組當(dāng)中。在頁(yè)面端使用wx:for循環(huán)渲染數(shù)組當(dāng)中的數(shù)據(jù)

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

}

img標(biāo)簽的圖片如果只給高度或者寬度的其中一個(gè)屬性時(shí),再給一個(gè)屬性mode=‘widthFix’/mode=‘heightFix’,可以讓圖片自適應(yīng)

總結(jié)

以上是生活随笔為你收集整理的微信小程序开发的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。