欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#程序員入門學(xué)習(xí)微信小程序的筆記

 更新時(shí)間:2019年03月05日 09:44:27   作者:張子浩  
這篇文章主要給大家分享了一位C#程序員入門學(xué)習(xí)微信小程序的筆記,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

前言

因?yàn)楣ぷ餍枰?,最近學(xué)習(xí)了一下微信小程序,在此分享一下大概的流程。

強(qiáng)烈建議大家先去看微信小程序簡(jiǎn)易教程:點(diǎn)我進(jìn)入

起步

客戶端打開小程序的時(shí)候,就將代碼包下載到本地進(jìn)行解析,首先找到了根目錄的 app.json ,知道了小程序的所有頁面。

在這個(gè)Index頁面就是我們的首頁,客戶端在啟動(dòng)的時(shí)候,將首頁的代碼裝載進(jìn)來,通過微信的機(jī)制,就渲染出來了頁面。

App({
 onLaunch() {
 // 小程序啟動(dòng)之后 觸發(fā)
 }
})

小程序在啟動(dòng)的時(shí)候,首先通過 App() 定義的 App() 實(shí)例的 onLaunch  方法,這個(gè)方法是各個(gè)頁面共享的,當(dāng)然還有更多的回調(diào)事件。

Page({
 data: {
 text: 'init data',
 array: [{msg: '1'}, {msg: '2'}]
 }
})

在頁面加載時(shí),data這個(gè)屬性會(huì)提供給頁面使用,會(huì)以Json的形式返回給前端,然后我們可以試著把這個(gè)值渲染在頁面上。

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

 小程序頁面中還有很多的方法,像 onReady() 當(dāng)頁面加載妥當(dāng),可以進(jìn)行交互的時(shí)候觸發(fā),還有小程序被切入后臺(tái)的 OnHide() 事件。當(dāng)然這些都是應(yīng)用級(jí)的事件,還有一些和用戶親密交互的事件,官方稱這種叫做頁面事件處理函數(shù)。

像是微信小程序沒有下拉事件 onPullDownRefresh() ,這個(gè)東西自己搞,我也是福氣了,不過也對(duì),這東西解耦,就當(dāng)我剛才說的是放屁。。。例如以下代碼。

在.json文件里設(shè)置 "enablePullDownRefresh": true,用于開啟頁面下拉加載效果,可以當(dāng)前頁設(shè)置也可以全局設(shè)置;

{  //當(dāng)前頁
 "enablePullDownRefresh": true //當(dāng)前頁
 "backgroundTextStyle": "dark" //頂部顯示顏色為深色的三個(gè)點(diǎn)
}
 "window": { //全局
 "enablePullDownRefresh": true //全局
 "backgroundTextStyle": "dark" //頂部顯示顏色為白色的三個(gè)點(diǎn)
 }

然后在某個(gè)頁面的js中,去寫一個(gè)下拉事件,然后例如這樣的。

onPullDownRefresh:function(){
 var that = this;
 that.setData({
  currentTab: 0 //當(dāng)前頁的一些初始數(shù)據(jù),視業(yè)務(wù)需求而定
 })
    wx.startPullDownRefresh();
this.onLoad(); //重新加載onLoad()
 console.log('i am refreshing....');
 }

經(jīng)過微信開發(fā)者的調(diào)試工具,我們可以輕松看到log的記錄,在那個(gè)setData里面是初始的數(shù)據(jù)。

最后,在onload事件中停止刷新。

onLoad: function (options) {
 wx.stopPullDownRefresh() //刷新完成后停止下拉刷新動(dòng)效
 },

你可以通過一個(gè)按鈕來進(jìn)行刷新,bindtap可以直接請(qǐng)求邏輯層。

下面就要說一說事件了,事件是視圖層到邏輯層的通訊方式。事件是綁定到dom上的,當(dāng)觸發(fā)的時(shí)候就回去執(zhí)行響應(yīng)的邏輯層。這些都是最基本的。

但是其中的事件分為 bindtap 和 catchtap 。那這兩個(gè)有什么區(qū)別呢?一個(gè)是冒泡 一個(gè)是不冒泡。那這冒不冒泡又是個(gè)什么鬼意思呢?

<view id="outer" bindtap="handleTap1">
 outer view
 <view id="middle" catchtap="handleTap2">
 middle view
 <view id="inner" bindtap="handleTap3">
  inner view
 </view>
 </view>
</view>

經(jīng)過測(cè)試,點(diǎn)擊inner view 會(huì)觸發(fā) inner view和 middle view的事件,而點(diǎn)擊 middler view 則只會(huì)觸發(fā)它的事件,因?yàn)樵俜派献弑籵uter view給擋住了 。

此處為了調(diào)試,請(qǐng)?jiān)赼pp.json中的pages中添加頁面,然后可以通過以下代碼進(jìn)行跳轉(zhuǎn)。

wx.navigateTo({
  url: '../demo/demo',
 })

在小程序中,也支持本地存儲(chǔ)。 例如api  wx.setStorage() 和wx. setStorageSync() 。

還有就是它和Vue一樣不支持jquery,也就是沒法裝了。另外我關(guān)注的自適應(yīng)。微信小程序支持rpx;可以達(dá)到自適應(yīng)。這我開心壞了。

為了安全性,它不知道跳轉(zhuǎn)外網(wǎng)。這個(gè)可能需要申請(qǐng)(money,你懂的。)

問題:關(guān)于無法小白我沒辦法獲取input里面的值,因?yàn)闆]辦法操作dom,這個(gè)是有原因,因?yàn)槲⑿判〕绦驘o法確定dom,因?yàn)槭怯兄虚g的編譯,這和vue有點(diǎn)差距??梢赃@么操作。

解決:微信對(duì)input的組件,提供了多個(gè)事件,看來只能通過這些事件去實(shí)現(xiàn)單個(gè)input的值的獲取。

根據(jù)這些表單事件我們可以去獲取里面的值然后去改data里面的值,也就達(dá)到這效果。

看樣子,小程序比Vue還要優(yōu)雅。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論