一级片大奶子_色又黄又爽18禁免费视频_热久久久久久久_久久久精品一区二区_日韩av不卡在线播放_精品国内自产拍在线观看视频

私域電商軟件及相關增值服務提供商    

免費試用

微信小程序使用的框架:邏輯層和視圖層

2017-12-05
導讀:2017年6月14日,微信小程序使用的框架已經是當下最熱門的話題,下面將從多方面來談談微信小程序使用的框架相關的內容。...

微信小程序使用的框架已經是當下最熱門的話題,下面將從多方面來談談微信小程序使用的框架相關的內容。

小程序的邏輯層由js完成,視圖層由微信提供的WXML(WeiXin Mark Language)和WXSS(WeiXin Style Sheet)文件來完成。

其中官方給出的解釋:頁面的腳本邏輯是在JsCore中運行,JsCore是一個沒有窗口對象的環境,所以不能在腳本中使用window,也無法在腳本中操作組件。同時由于zepto/jQuery 會使用到window對象和document對象,所以在小程序中均無法使用。

微信小程序使用的框架:邏輯層和視圖層

邏輯層

邏輯層將數據進行處理后發送給視圖層,同時接受視圖層的事件反饋。 在 JavaScript 的基礎上,微信增加和修改了以下特性:

  • 增加 App 和 Page 方法,進行程序和頁面的注冊。

  • 增加 getApp 和 getCurrentPages 方法,分別用來獲取 App 實例和當前頁面棧。

  • 提供豐富的 API,如微信用戶數據,掃一掃,支付等微信特有能力。

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

  • 由于框架并非運行在瀏覽器中,所以 JavaScript 在 web 中一些能力都無法使用,如 document,window 等。

  • 開發者寫的所有代碼最終將會打包成一份 JavaScript,并在小程序啟動的時候運行,直到小程序銷毀。類似 ServiceWorker,所以邏輯層也稱之為 App Service。

注冊程序

quikstart示例中App.js文件內容如下:

 

//app.js

App({

  onLaunch: function () {

    //調用API從本地緩存中獲取數據

    var logs = wx.getStorageSync('logs') || []

    logs.unshift(Date.now())

    wx.setStorageSync('logs', logs)

  },

  getUserInfo:function(cb){

    var that = this

    if(this.globalData.userInfo){

      typeof cb == "function" && cb(this.globalData.userInfo)

    }else{

      //調用登錄接口

      wx.login({

        success: function () {

          wx.getUserInfo({

            success: function (res) {

              that.globalData.userInfo = res.userInfo

              typeof cb == "function" && cb(that.globalData.userInfo)

            }

          })

        }

      })

    }

  },

  globalData:{

    userInfo:null

  }

})

 

App()函數

App() 函數用來注冊一個小程序。接受一個 object 參數,其指定小程序的生命周期函數等。

其中onLaunch為系統的生命周期函數,getUserInfo和globalData分別為用戶自定義函數和數據結構對象。

App() 函數的object參數說明:

屬性

類型

描述

觸發時機

onLaunchFunction生命周期函數–監聽小程序初始化當小程序初始化完成時,會觸發 onLaunch(全局只觸發一次)

onShowFunction生命周期函數–監聽小程序顯示當小程序啟動,或從后臺進入前臺顯示,會觸發 onShow

onHideFunction生命周期函數–監聽小程序隱藏當小程序從前臺進入后臺,會觸發 onHide

其他Any開發者可以添加任意的函數或數據到 Object 參數中,用 this 可以訪問

getApp()函數

我們提供了全局的 getApp() 函數,可以獲取到小程序實例。

示例代碼:

 

// other.js

var appInstance = getApp()

console.log(appInstance.globalData) // I am global data

 

注冊頁面

index頁面中index.js代碼如下:

 

//index.js

//獲取應用實例

var app = getApp()

Page({

  data: {

    motto: 'Hello World',

    userInfo: {}

  },

  //事件處理函數

  bindViewTap: function() {

    wx.navigateTo({

      url: '../logs/logs'

    })

  },

  onLoad: function () {

    console.log('onLoad')

    var that = this

    //調用應用實例的方法獲取全局數據

    app.getUserInfo(function(userInfo){

      //更新數據

      that.setData({

        userInfo:userInfo

      })

    })

  }

})

 

Page()函數

Page() 函數用來注冊一個頁面。接受一個 object 參數,其指定頁面的初始數據、生命周期函數、事件處理函數等。

object 參數說明:

屬性

類型

描述

dataObject頁面的初始數據

onLoadFunction生命周期函數–監聽頁面加載

onReadyFunction生命周期函數–監聽頁面初次渲染完成

onShowFunction生命周期函數–監聽頁面顯示

onHideFunction生命周期函數–監聽頁面隱藏

onUnloadFunction生命周期函數–監聽頁面卸載

onPullDownRefreshFunction頁面相關事件處理函數–監聽用戶下拉動作

onReachBottomFunction頁面上拉觸底事件的處理函數

其他Any開發者可以添加任意的函數或數據到 object 參數中,在頁面的函數

Page還提供了setData() 和getCurrentPages()函數。

setData()函數:

setData 函數用于將數據從邏輯層發送到視圖層,同時改變對應的 this.data 的值。

注意:

  1. 直接修改 this.data 無效,無法改變頁面的狀態,還會造成數據不一致。

  2. 單次設置的數據不能超過1024kB,請盡量避免一次設置過多的數據。

getCurrentPages()函數:

getCurrentPages() 函數用于獲取當前頁面棧的實例,以數組形式按棧的順序給出,第一個元素為首頁,最后一個元素為當前頁面。

注意:不要嘗試修改頁面棧,會導致路由以及頁面狀態錯誤。

API

微信提供了諸多JavaScript形式的微信原生 API,可以方便的調起微信提供的能力,如獲取用戶信息,本地存儲,支付功能等。

API將在專門的章節介紹。

視圖層WXML

WXML(WeiXin Markup Language)是框架設計的一套標簽語言,結合基礎組件、事件系統,可以構建出頁面的結構。

用以下一些簡單的例子來看看 WXML 具有什么能力:

數據綁定

 

<!--wxml-->

<view> {{message}} </view>

// page.js

Page({

  data: {

    message: 'Hello MINA!'

  }

})

 

列表渲染

 

<!--wxml-->

<view wx:for="{{array}}"> {{item}} </view>

// page.js

Page({

  data: {

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

  }

})

 

條件渲染

 

<!--wxml-->

<view wx:if="{{view == 'WEBVIEW'}}"> WEBVIEW </view>

<view wx:elif="{{view == 'APP'}}"> APP </view>

<view wx:else="{{view == 'MINA'}}"> MINA </view>

// page.js

Page({

  data: {

    view: 'MINA'

  }

})

 

模板

 

<!--wxml-->

<template name="staffName">

  <view>

    FirstName: {{firstName}}, LastName: {{lastName}}

  </view>

</template>

 

<template is="staffName" data="{{...staffA}}"></template>

<template is="staffName" data="{{...staffB}}"></template>

<template is="staffName" data="{{...staffC}}"></template>

// page.js

Page({

  data: {

    staffA: {firstName: 'Hulk', lastName: 'Hu'},

    staffB: {firstName: 'Shang', lastName: 'You'},

    staffC: {firstName: 'Gideon', lastName: 'Lin'}

  }

})

 

事件

 

<view bindtap="add"> {{count}} </view>

Page({

  data: {

    count: 1

  },

  add: function(e) {

    this.setData({

      count: this.data.count + 1

    })

  }

})

 

 


重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個小商店

第三部分:如何登錄小商店

第四部分:開店任務常見問題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結算

第十部分:小程序客服

第十一部分:電商創業

第十二部分:小程序游戲開發

電話咨詢 微信咨詢 預約演示 0元開店
主站蜘蛛池模板: 中国女人FREEXXXXXXX|一色一伦一区二区三区的区别|亚洲αⅴ无码乱码在线观看性色|怡春院综合|精品人妻无码一区二区三区百度|国产精品wwwwww | 超清纯白嫩大学生无码网站|97精品人人做人人爱|最新啪啪网站|国产老熟女网站|国产精久久久久久久|久久九九久久 | 亚洲第一二区|国产高清乱理伦片中文|久久99精品久久久久久9|热久久网|成人精品视频免费|国产在线拍揄自揄视频不卡99 | 亚洲激情在线观看视频|一区二区和激情视频|亚洲男人的天堂色偷免费|女人被爽到高潮视频|久操社区|亚洲无色 | 国产高清精品亚洲а∨|一本久道久久综合狠狠爱亚洲精品|久久国产福利|久久久久www|无码人妻精品一区二区三区99不卡|亚V=a芒果乱码一二三四区别 | 天天爽天天草|久久成人一区二区|国语对白露脸XXXXXX|黄色片视频在线免费观看|川上优在线|中国黄色免费 | 最新中文乱码字字幕在线|亚洲色无码中文字幕|久久久精品免费网站|高潮毛片无遮挡高清视频播放|欧美黄色一级带|国产操女人 | 日韩精品三区|国产成人精品=a视频免费福利|色中色综合|国产成人精品一区二区三区四区|国产一级毛片精品完整视频版|国产字幕在线看 | 久久国产超碰女女=av|2019最新国产拍自产在线|日韩xxxxxxxxx|国产在线观看=av黑料在线不打烊|国产精品久久久乱弄|国产精品一区二区三区四区色 | 亚洲精品=a级九色|99在线啪|欧美中文视频|亚洲精品国产一区二区色欲影院|精品久久久久久亚洲精品|性欧美free德国极品 | 日本三级日本三级韩国三级视|国产精品国产自线拍免费|CHIN=a男男互插网站|女邻居丰满的奶水在线观看|免费国产v=a在线观看|国产乱子伦无套一区二区三区 | 日本欧美在线观看|91香蕉在线极品观看|两个人看的www高清视频中文|九九久久影院|偷拍超碰|久久99国产综合精品免费 | 国产清纯女高中生被c|精品久久久久中文字国产|国产一级内谢|91精品综合|制服丝袜长腿无码专区第一页|亚洲欧洲一区二区 | 日日噜噜夜夜狠狠扒开双腿|欧美人成在线观看|美丽的姑娘免费观看在线播放|欧美性猛交xxxx乱大交密桃|亚洲精品国产字幕久久麻豆|日本裸交xx╳╳137大胆 | 青青青在线视频国产|亚洲精华国产精华液|伊人网综|国产免费久久精品久久久|一本丁香综合久久久久不卡网站|国产毛片精品国产一区二区三区 | 成在人线无码=aⅴ免费视频|毛片免费观看天天干天天爽|天天摸天天做天天爽水多|在线观看日本www|奇领6080奇领影院奇领yy6080在线观看|黄色片观看 | 国产精品卡1卡2卡3|色八网站首页|潜行者40集免费观看视频|国产精品国产三级国产传播|小嫩妇下面好紧好爽视频|亚洲综合精品伊人久久 | 国产乱妇乱子在线播视频播放网站|国产免费人成在线视频|精品欧洲=av无码一区二区14|精品少妇一区二区三区在线观看|播放一区二区|国产精品久久久久久久久无码日本蜜乳 | 大地免费资源|成人综合色区|无码综合天天久久综合网|男人猛躁女人网站|国产午夜福利小视频合集|国产女人与公拘交在线播放 | 亚洲妇女多毛撒尿XXXⅩ|黄色毛片黄色毛片|公和我做好爽添厨房|日本韩国最新免费观看|日本=a∨精品中文字幕在线|国产免费拔擦拔擦8X高清在线 | 中文字幕在线中文乱|精品videossexfreeohdbbw|青青青国产在线视频在线观看|91国在线视频|性xxxx搡xxxxx搡欧美|婷婷中文 | АⅤ天堂中文在线网|人人澡人人澡人人看欧美|高H喷水荡肉爽文NP肉色学校|日韩一二三区不卡在线视频|欧美在线观看www|中文字幕一区二区三区5566 | 日韩www在线观看|欧美videosfree性派对|最好看的2018中文字幕免费视频|国产一区二区三区久久精品|大地资源网在线观看免费高清观看|午夜特级毛片 | 精选久久久|#NAME?|亚洲日本香蕉视频观看视频|钻石午夜影院|中文字幕第23页在线|成人午夜免费看 | VIDEOSGR=aIS欧美另类|爱看=av在线入口|在线视频成人|再来一次在线观看完整视频|91精品国产92久久久|成人爽=a毛片免费啪啪 | 亚洲v天堂v手机在线|午夜成年视频|FREEZEFR=aME丰满少妇|日本天堂网站|亚洲热综合|欧美V=a亚洲V=a在线观看日本 | 美女=aV一区二区三区|九九热久久这里只有精品|国产精品免费不卡|少妇的BBBB爽爽爽自慰|中文字幕乱码久久午夜不卡|天天做日日做天天爽视频免费 | 日本欧美在线观看|91香蕉在线极品观看|两个人看的www高清视频中文|九九久久影院|偷拍超碰|久久99国产综合精品免费 | 久久久久动漫|亚洲影视资源网|久操福利在线|娇小小小泬ⅩXXX深喉|中文字幕乱码中文乱码777|超碰在线个人 | 国产在线观看免费版|干干干综合网|久久一起草|精品无人区麻豆乱码1区2区新区|一区二区在线视频|免费大黄网站 | 97成人超碰免|欧美综合视频在线观看|强被迫伦姧惨叫在线视频|亚洲=aV成人无码网站大全|91精选日韩综合永久入口|欧美精品一区二区三区高清=aⅴ | 亚洲精品久久无码午夜一区二区|久久无码7区|99久久久精品视频|亚洲=a成人无码网站在线|99热久久免费频精品18|亚洲黄在线观看 | 久久久女人与动物群交毛片|草莓国产视频|一区在线播放|97视频精品|久草福利在线视频|久久久久亚洲=av成人网人人软件 | ch=aopeng在线观看|成人综合区一区|#NAME?|无遮挡又色又刺激的女人视频|#NAME?|日韩精品乱码=av一区二区 | 国产1区在线观看|四房播播成人社区|嫩草影视亚洲|免费毛片在线不卡|久久亚洲精品国产一区最新章节|911免费看片 | 性生大片免费观看668|亚洲成人=av影片|毛片大全真人在线|国产老女人高潮大全|中文字幕丰满|一本久久久久 | 午夜影院在线播放|色姑娘天天综合|亚洲=av国产=av综合=av|#NAME?|亚洲毛片一区二区三区|#NAME? | j=ap=anese护士高潮|12裸体自慰免费观看网站|免费=a一毛片|欧美人禽zozo动人物杂交|h动漫在线女生向在线精品|狠狠躁夜夜躁人人爽天天2020 | 欧美一级爽快片淫片在线观看|大JI巴好深好爽又大又粗视频|日本肉体裸交XXXXBBBB|国产高清二区|日日夜夜操网站|成人www视频 | 国产精品婷婷色综合www在线|丰满风流护士长BD=a片|国产精品福利片|农村人伦偷精品视频=a人人澡|久热免费在线视频|18禁美女黄网站色大片免费网站 | 爱福利视频导航|一级=a=a=a级毛片午夜在线播放|国产真实情侣MV|欧美三级视频在线观看|午夜人成免费视频|www.99爱 |