這篇文章主要介紹了C#程序員如何學(xué)習(xí)微信小程序,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
為正藍(lán)等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及正藍(lán)網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站建設(shè)、正藍(lán)網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎ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á)到這效果。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“C#程序員如何學(xué)習(xí)微信小程序”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
網(wǎng)站標(biāo)題:C#程序員如何學(xué)習(xí)微信小程序-創(chuàng)新互聯(lián)
文章起源:http://aaarwkj.com/article42/cojghc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、標(biāo)簽優(yōu)化、動(dòng)態(tài)網(wǎng)站、App設(shè)計(jì)、域名注冊(cè)、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容