【移動應用開發(fā)技術】Wx小程序開發(fā)_第1頁
【移動應用開發(fā)技術】Wx小程序開發(fā)_第2頁
【移動應用開發(fā)技術】Wx小程序開發(fā)_第3頁
【移動應用開發(fā)技術】Wx小程序開發(fā)_第4頁
【移動應用開發(fā)技術】Wx小程序開發(fā)_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

【移動應用開發(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論