1. 程式人生 > >微信小程式的事件機制

微信小程式的事件機制

比如我們android從一個activity跳轉到另一個activity,是通過Intent,而在小程式中從一個介面跳轉到另外一個介面是通過什麼方式呢?而事件又是什麼東東?

什麼是事件

  • 事件是檢視層到邏輯層的通訊方式。
  • 事件可以將使用者的行為反饋到邏輯層進行處理。
  • 事件可以繫結在元件上,當達到觸發事件,就會執行邏輯層中對應的事件處理函式。
  • 事件物件可以攜帶額外資訊,如 id, dataset, touches。

事件的使用方式

在元件中繫結一個事件處理函式

bindtap,當用戶點選該元件的時候會在該頁面對應的Page中找到相應的事件處理函式

在微信小程式中函式的定義語法

方法名:function(){

 // 方法體

}

在微信小程式中觸控事件是tap,但是我們不能直接在標籤中寫tap="click" 而是在tap前加上bind,那麼觸控事件就是bindtap,還有比如長按事件longpress,那麼在標籤中也是bindlongpress 

bindtap = "click"  這個意思是當用戶在這個元件也就是控制元件觸控後 會去js中查詢click函式並且執行其中程式碼

click_tap:function(){

console.log("我被點選了");

wx.navigateTo({

url: '../posts/posts',

})

},

這是我點選按鈕後跳轉到另外一個介面,wx可以看做是微信小程式中的內建物件,對應的url其實就是我們app.json配置的地址

但是很奇怪的問題發生瞭如圖:

發現導航欄會有個返回鍵,當我點選返回鍵了以後還是回調了之前的介面.那麼就相當於我們開啟的介面是它的子介面,如果你不想有返回鍵,也就是說不想讓它是子介面,可以這麼弄:

click_tap:function(){

console.log("我被點選了");

wx.redirectTo({

url: '../posts/posts',

})

},

這樣導航欄就不在會有返回鍵了,而成了它是個主介面.

上次講的生命週期方法有二個方法沒說onHide() onUnload()  如果哦懂android得話 這二個方法很好理解,onHide()方法相當於onPause()  onUnload()相當於onDestory()方法如果我們介面跳轉是使用了wx.navigateTo,那麼我們跳轉後那個介面還在的,只是被隱藏了而已,假如我們跳轉的是用wx.redirectTo,那麼上一個介面就是被銷燬了,但是在微信小程式中叫做解除安裝.

下班回家繼續寫