溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#程序員怎么學(xué)習(xí)微信小程序

發(fā)布時(shí)間:2022-04-08 10:12:34 來(lái)源:億速云 閱讀:252 作者:iii 欄目:編程語(yǔ)言

這篇文章主要介紹了C#程序員怎么學(xué)習(xí)微信小程序的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇C#程序員怎么學(xué)習(xí)微信小程序文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。

起步

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

C#程序員怎么學(xué)習(xí)微信小程序

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

下面就要說(shuō)一說(shuō)事件了,事件是視圖層到邏輯層的通訊方式。事件是綁定到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)過(guò)測(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中添加頁(yè)面,然后可以通過(guò)以下代碼進(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)于無(wú)法小白我沒辦法獲取input里面的值,因?yàn)闆]辦法操作dom,這個(gè)是有原因,因?yàn)槲⑿判〕绦驘o(wú)法確定dom,因?yàn)槭怯兄虚g的編譯,這和vue有點(diǎn)差距??梢赃@么操作。

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

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

關(guān)于“C#程序員怎么學(xué)習(xí)微信小程序”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“C#程序員怎么學(xué)習(xí)微信小程序”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI