小程序模板網(wǎng)

微信小程序開發(fā)教程—邏輯層js詳解

發(fā)布時間:2018-04-20 11:34 所屬欄目:小程序開發(fā)教程

 邏輯層,是事務(wù)邏輯處理的地方。對于小程序而言,邏輯層就是.js腳本文件的集合。邏輯層將數(shù)據(jù)進行處理后發(fā)送給視圖層,同時接收視圖層的事件反饋。

  微信小程序開發(fā)框架的邏輯層是由JavaScript編寫。在JavaScript的基礎(chǔ)上,微信團隊做了一些適當?shù)男薷?,以便提高開發(fā)小程序的效率。主要修改包括:

  ♦ 增加app和page方法,進行程序和頁面的注冊

  ♦ 提供豐富的API,如掃一掃、支付等微信特有的能力

  ♦ 每個頁面有獨立的作用域,并提供模塊化能力。

  邏輯層的實現(xiàn)就是編寫各個頁面的.js腳本文件。但由于小程序并非運行在瀏覽器中,所以JavaScript在Web中的一些能力無法使用,如document、window等。

  我們開發(fā)編寫的所有代碼最終會打包成一份JavaScript,并在小程序啟動的時候運行,直到小程序銷毀。

 

注冊程序:App()方法

  在邏輯層,App()方法用來注冊一個小程序。App()接受一個object參數(shù),用于指定小程序的生命周期函數(shù)等。App()方法有且僅有一個,存在于app.js中。object參數(shù)見下表

  

  注意:onLaunch函數(shù)全局只觸發(fā)一次。

  前臺、后臺:用戶當前界面運行或操作小程序時為前臺;當用戶點擊左上角關(guān)閉,或者按了設(shè)備Home鍵離開微信,小程序并沒有直接銷毀,而是進入后臺;當再次進入微信或再次打開小程序,又會從后臺進入前臺。

  銷毀:只有當小程序進入后臺一定時間,或者系統(tǒng)資源占用過高,才會被真正銷毀。此時代表小程序的聲明周期結(jié)束。

  關(guān)閉小程序(公共庫版本1.1.0開始支持): 當用戶從掃一掃、轉(zhuǎn)發(fā)等入口(場景值為1007, 1008, 1011, 1025)進入小程序,且沒有置頂小程序的情況下退出,小程序會被銷毀。

  示例代碼:

  onLaunch, onShow 參數(shù)

獲取更多轉(zhuǎn)發(fā)信息

通常開發(fā)者希望轉(zhuǎn)發(fā)出去的小程序被二次打開的時候能夠獲取到一些信息,例如群的標識?,F(xiàn)在通過調(diào)用 wx.showShareMenu 并且設(shè)置 withShareTicket為 true ,當用戶將小程序轉(zhuǎn)發(fā)到任一群聊之后,可以獲取到此次轉(zhuǎn)發(fā)的 shareTicket,此轉(zhuǎn)發(fā)卡片在群聊中被其他用戶打開時,可以在 App.onLaunch() 獲取到另一個 shareTicket。這兩步獲取到的 shareTicket 均可通過 wx.getShareInfo() 接口可以獲取到相同的轉(zhuǎn)發(fā)信息。

 

 

  微信團隊為開發(fā)者提供全局的getApp()函數(shù),可以用來獲取小程序?qū)嵗?。示例如下?/p>

//other.js
var app = getApp();
console.log(app.globalData);//I am global data
注意:
    ♦ App()方法須在app.js中注冊,且不能注冊多個。
    ♦ 不要再定義App()內(nèi)的函數(shù)中調(diào)用getApp(),使用this就可以拿到App實例。
    ♦ 通過getApp()獲取實例之后,不要私自調(diào)用生命周期函數(shù)。

 

 

 

注冊頁面:Page()方法

  在邏輯層,Page()方法用來注冊一個頁面。Page()接受一個object參數(shù),用于指定頁面的初始數(shù)據(jù)、生命周期函數(shù)、事件處理函數(shù)等。Page()方法每個頁面有且僅有一個,存在于該頁面的.js文件中。

  

  示例代碼:

注意:
    ♦ 不要在 onLaunch 的時候調(diào)用 getCurrentPages(),此時 page 還沒有生成。

 

初始化數(shù)據(jù)

  初始化數(shù)據(jù)將作為頁面的第一次渲染。對象data將會以JSON的形式由邏輯層傳至視圖層,所以其數(shù)據(jù)必須是可以轉(zhuǎn)成JSON的格式:字符串、數(shù)字、布爾值、對象、數(shù)組。視圖層可以通過WXML對數(shù)據(jù)進行綁定。

<view>{{text}}view>
<view>{{array[0].msg}}view>

 

頁面的生命周期



易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://22321a.com/wxmini/doc/course/23802.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢:800182392 點擊咨詢
QQ在線咨詢