版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
【移動應用開發(fā)技術】Wx小程序開發(fā)
微信小程序開發(fā)文檔:/weixinapp/sp6z1q8q.html小程序官方示例Demo一、小程序的生命周期
1.小程序啟動
小程序啟動之后,在
app.js
定義的
App
實例的
onLaunch
回調會被執(zhí)行:
整個小程序只有一個App實例,是全部頁面共享的,App實例相當于
android里的application。
2.渲染界面
微信客戶端首先會根據page.json生成一個界面
接著客戶端就會裝載這個頁面的
WXML
結構和
WXSS
樣式。最后客戶端會裝載
logs.js
在渲染完界面之后,頁面實例就會收到一個
onLoad
的回調(page.js),你可以在這個回調處理你的邏輯。
二、綁定View的點擊事件
通過bindtap='methodName',在js里實現點擊事件
方法實現方式1
//
methodName:function(e){
//
}
方法實現方式2
methodName(){
wx.navigateTo({
url:
'../net/net',
})
}
三、頁面跳轉添加新頁面注意js文件里的page首字母要大寫
/article/6f2f55a1656e01b5b93e6c9e.html
//跨頁面?zhèn)髦?/p>
/minapp/878030
四、組件樣式
/yang-shuai/p/6899430.html
1.CSS選擇器
1)標簽選擇器
2)選擇器分組(共享聲明)
3)派生選擇器
(標簽的子級標簽的樣式)
4)
id選擇器
(不針對具體的標簽)
#選擇器名{}
5)
id選擇器結合派生選擇器
6)類選擇器
.選擇器名{}
7)屬性選擇器
[屬性名]{}
8)
屬性和值選擇器
[屬性名=屬性值]{}
[屬性名~=屬性值]{}
//屬性包含屬性值
[屬性名|=屬性值]{}
//屬性包含屬性值的另一種表現形式
標簽名[]{}
//具體標簽的屬性選擇器
id選擇器與類選擇器的區(qū)別:
1)id選擇器一個wxml中只能出現一次,但是class可以多次。
2)類選擇器可以合并
<divclass="class1class2class2"></div>也就是說class可以等于多個class的列表
對于id來講id="div1"而不能寫成id="div1div2"這樣,即只能有一個id,而不是像class屬性那樣
如何關聯樣式表:
@import"other.wxss";
2.布局
Flex布局:/qq_26585943/article/details/79694792
所有的View都是一個Flex,可以設置作為父容器的屬性或作為子容器的屬性。
布局實戰(zhàn):/aoaoxiexie/article/details/53991432
五、網絡請求
/suixufeng/article/details/65445751
六、藍牙操作
/qcloud1001/p/7717860.html
/p/1fc23fc7e5ce
七、變量
1)let與var定義變量的區(qū)別:/p/e62d4ee72a61
2)變量定義
數組定義
變量名:[]
對象定義
變量名:{}
3)變量賦值
/weixin_41991473/article/details/79927418
賦值異常:"Settingdatafield"content"toundefinedisinvalid"錯誤,原因是賦值的值與變量的類型不一致。
七-2、方法
1)當前js調用另外js的方法
varapi=require("../demo/api_test/api_test.js");
調用api即可獲取api_test.js里定義的方法,但是api_test.js的方法先要聲明暴露出來。
2)當前js調用當前js的方法
this.方法名(),直接使用方法名會報方法找不到。
3)wx.xx方法的callback里調用自定義的方法
直接調用會報錯:
你要調用的自己的自定義方法
notdefined;atapicallbackfunction
如:
Page({
data:
{
},
getConnectedDevices(){
console.log('getConnectedDevices
start')
wx.getConnectedBluetoothDevices({
services:
[],
success:
function(res)
{
console.log('getConnectedDevices
success',res)
},
fail:function(res){
console.log('getConnectedDevices
fail',
res)
}
})
},
initAdapter(){
var
that
=
this;
console.log('initAdapter
start')
wx.openBluetoothAdapter({
success:
function(res)
{
console.log('initAdapter
succes',
res)
that.getConnectedDevices();
},
fail:function(res){
console.log('initAdapter
fail',res)
}
})
},
}
)
上面,initAdapter方法里,如果直接調用getConnectedDevices就會報錯。但是用that在initAdaper方法賦值一下this再調用getConnectedDevices就正常。
八、數組
合并清空數組
/p/cd08d01a1c9c
增刪改查
/article/102160.htm
push和concat的區(qū)別:
/wangsf789/article/details/53466314
ArrayBuffer與Java數據類型
/archives/6420
其實微信小程序與Java程序通訊,如果遇到了ArrayBuffer類型,JS可以將ArrayBuffer轉換成HexString類型,Java再將HexString轉byte[](也就是ArrayBuffer)。
八-1:對象
1.錯誤的賦值方法:
對象內部無法引用自身的屬性smallFrame.push({
"ST":
"33",
"SN":
codetool.num2Hex(sn,1)
,
"CTL":
calCTL(sendDataArray.length
-
1
-
i,
i
==
0
?
1
:
0),
"LEN":
codetool.num2Hex(sendDataArray[i].length
/
2,1),
"DATA":
sendDataArray[i],
"BCC":
codetool.yihuo(this.SN
+
this.CTL
+
this.LEN
+
this.DATA),
"FRAME":
(this.ST
+
this.SN
+
this.CTL
+
this.LEN
+
this.DATA
+
this.BCC)
});
正確的賦值方法:for
(let
i
=0;i
<
sendDataArray.length;i++){
let
item
=
{
"ST":
"33",
"SN":
codetool.num2Hex(sn,
1),
"CTL":
calCTL(sendDataArray.length
-
1
-
i,
i
==
0
?
1
:
0),
"LEN":
codetool.num2Hex(sendDataArray[i].length
/
2,
1),
"DATA":
sendDataArray[i],
"BCC":
"",
"FRAME":
""
};
item.BCC
=
codetool.yihuo(item.SN
+
item.CTL
+
item.LEN
+
item.DATA);
item.FRAME
=
item.ST
+
item.SN
+
item.CTL
+
item.LEN
+
item.DATA
+
item.BCC;
2.讀取一個undefined對象的屬性異常
Cannotreadproperty'sendResultListener'ofundefined
九、列表組件
/yexiaochai/p/9431816.html
/qq_38614249/article/details/80913311
點擊事件,通過自定義屬性傳值:
/qq_41999617/article/details/83449841
十:關鍵字
1)this和that:/xiaochengxu-353027.html
/lucky123star/article/details/77508360
在嵌套的方法里,一般不直接使用this。可以定義一個that=this,然后調用that。
2)在自定義的js里使用varthat=this,然后調用that會提示undefined?????
十一:工具類封裝
1)
/forum.php?mod=viewthread&tid=2461
2)
模塊化:/miniprogram/dev/framework/app-service/module.html
(官方)
變量如何暴露:定義方法返回變量,然后暴露方法。
注意js只能暴露方法,無法直接暴露變量,但是可以通過方法返回變量。
3)定義監(jiān)聽回調
形式1:監(jiān)聽對象為一個函數function
形式2:監(jiān)聽對象為一個對象
{},然后調用對象的相關函數。
/bellagao/p/6305485.html
4)wxml中使用自定義的函數:/qq_35971258/article/details/85197664
5)base64與arraybuffer互轉:/xiaocx/show_48059.html
6)十二、微信小程序特殊語法:
1、KV傳參:
wx的某些api,傳入參數,可能會提示:
如:
wx.getBLEDeviceCharacteristics({
deviceId,
serviceId:
blecofig.getBleServiceId(),
success(res)
{
console.log('device
getBLEDeviceCharacteristics:',
res.characteristics)
}
})
getBLEDeviceCharacteristics的第二個參數
serviceId,如果參數的類型不明確,就要用KV形式傳入參數。
十三:編碼
1.ArrayBuffer與字符串互轉
/xyzdwf/article/details/82220987
2.進制轉換
/sinat_22038331/article/details/85861708
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國阿奇霉素腸溶片市場全面調研及行業(yè)投資潛力預測報告
- 2025版木材認證機構服務采購合同示范3篇
- 二零二五年度公司股權激勵項目財務規(guī)劃與預算合同3篇
- 2025年度儲煤場租賃與煤炭交易結算服務合同3篇
- 2025年度新能源行業(yè)競業(yè)限制解除通知
- 2025年度私人車位租賃與車位租賃期限續(xù)簽合同
- 2025年度車庫使用權轉讓及車位租賃權分配協議
- 2025年度百貨行業(yè)電商直播及銷售合作合同
- 二零二五年度租賃房產轉租合同租賃物權屬爭議處理補充協議
- 2025年度離婚后財產分割及子女撫養(yǎng)費及教育金支付協議
- 2024多級AO工藝污水處理技術規(guī)程
- 2024年江蘇省鹽城市中考數學試卷真題(含答案)
- DZ∕T 0287-2015 礦山地質環(huán)境監(jiān)測技術規(guī)程(正式版)
- 2024年合肥市廬陽區(qū)中考二模英語試題含答案
- 質檢中心制度匯編討論版樣本
- 藥娘激素方案
- 提高靜脈留置使用率品管圈課件
- GB/T 10739-2023紙、紙板和紙漿試樣處理和試驗的標準大氣條件
- 《心態(tài)與思維模式》課件
- C語言程序設計(慕課版 第2版)PPT完整全套教學課件
- 危險化學品企業(yè)安全生產標準化課件
評論
0/150
提交評論