HiShop首頁 > 網(wǎng)上商城系統(tǒng) > 商城建設(shè) > 微信小程序開發(fā)組件間通信與事件

微信小程序開發(fā)組件間通信與事件

時間:2024-10-26 19:37:11 |閱讀量:
微信小程序 組件間通信與事件

在微信小程序中,組件間通信是必不可少的。本文將介紹微信小程序中實現(xiàn)組件間通信的方式,以及如何進行事件的監(jiān)聽和觸發(fā)。

1. 組件間通信

組件間的基本通信方式有以下幾種。

  • WXML 數(shù)據(jù)綁定:用于父組件向子組件的指定屬性設(shè)置數(shù)據(jù),僅能設(shè)置 JSON 兼容數(shù)據(jù)(自基礎(chǔ)庫版本 2.0.9 開始,還可以在數(shù)據(jù)中包含函數(shù))。
  • 事件:用于子組件向父組件傳遞數(shù)據(jù),可以傳遞任意數(shù)據(jù)。
  • 如果以上兩種方式不足以滿足需要,父組件還可以通過 this.selectComponent 方法獲取子組件實例對象,這樣就可以直接訪問組件的任意數(shù)據(jù)和方法。

2. 監(jiān)聽事件

事件系統(tǒng)是組件間通信的主要方式之一。自定義組件可以觸發(fā)任意的事件,引用組件的頁面可以監(jiān)聽這些事件。

監(jiān)聽自定義組件事件的方法與監(jiān)聽基礎(chǔ)組件事件的方法完全一致,示例如下:

<!-- 當自定義組件觸發(fā)“myevent”事件時,調(diào)用“onMyEvent”方法 -->
<component-tag-name bindmyevent="onMyEvent" />
<!-- 或者可以寫成 -->
<component-tag-name bind:myevent="onMyEvent" />
Page({
  onMyEvent: function(e){
    e.detail // 自定義組件觸發(fā)事件時提供的detail對象
  }
})

3. 觸發(fā)事件

自定義組件觸發(fā)事件時,需要使用 triggerEvent 方法,指定事件名、detail對象和事件選項:

<!-- 在自定義組件中 -->
<button bindtap="onTap">點擊這個按鈕將觸發(fā)“myevent”事件</button>
Component({
  properties: {},
  methods: {
    onTap: function(){
      var myEventDetail = {} // detail對象,提供給事件監(jiān)聽函數(shù)
      var myEventOption = {} // 觸發(fā)事件的選項
      this.triggerEvent('myevent', myEventDetail, myEventOption)
    }
  }
})

觸發(fā)事件的選項包括:

選項名 類型 是否必填 默認值 描述
bubbles Boolean false 事件是否冒泡
composed Boolean false 事件是否可以穿越組件邊界,為false時,事件將只能在引用組件的節(jié)點樹上觸發(fā),不進入其他任何組件內(nèi)部
capturePhase Boolean false 事件是否擁有捕獲階段

關(guān)于冒泡和捕獲階段的概念,請閱讀 事件 章節(jié)中的相關(guān)說明。<本文由himall原創(chuàng),商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請標明:himall原創(chuàng)>

多用戶商城系統(tǒng)解決方案

滿足不同行業(yè)發(fā)展電商的需求,HiMall更有針對性的提供不同行業(yè)內(nèi)的電商解決方案

  • 跨境電商解決方案

    支持直郵/保稅模式

    對接海關(guān)/保稅倉

    支持多國國際語言

    對接Paypal國際支付

    幫助跨境外貿(mào)企業(yè)搭建跨境進口/出口電商平臺,搶占國際電商市場,針對企業(yè)需求定制個性化跨境電商解決方案
    了解跨境方案
  • 分賬解決方案

    迎合金融監(jiān)管要求

    規(guī)避“二清”結(jié)算

    節(jié)約平臺財務(wù)成本

    降低平臺招商成本

    在合法、合規(guī)的前提下,為電商平臺提供資金收付、賬戶管理、資金合規(guī)等一體化整體解決方案
    了解分賬方案
  • B2B批發(fā)解決方案

    多級階梯批發(fā)價

    布局全渠道批發(fā)入口

    專屬批發(fā)訂貨市場

    銀聯(lián)B2B大額支付

    為企業(yè)快速搭建綜合性B2B批發(fā)電商平臺,整合線下批發(fā)資源,拓展線上批發(fā)渠道,實現(xiàn)批發(fā)業(yè)務(wù)24小時在線經(jīng)營
    了解B2B方案
更多電商解決方案>
|2024-10-26猜你喜歡

【本站聲明】 1、本網(wǎng)站發(fā)布的該篇文章,目的在于分享電商知識及傳遞、交流相關(guān)電商信息,以便您學習或了解電商知識,請您不要用于其他用途;
2、該篇文章中所涉及的商標、標識的商品/服務(wù)并非來源于本網(wǎng)站,更非本網(wǎng)站提供,與本網(wǎng)站無關(guān),系他人的商品或服務(wù),本網(wǎng)站對于該類商標、標識不擁有任何權(quán)利;
3、本網(wǎng)站不對該篇文章中所涉及的商標、標識的商品/服務(wù)作任何明示或暗示的保證或擔保;
4、本網(wǎng)站不對文章中所涉及的內(nèi)容真實性、準確性、可靠性負責,僅系客觀性描述,如您需要了解該類商品/服務(wù)詳細的資訊,請您直接與該類商品/服務(wù)的提供者聯(lián)系。

電話咨詢 微信咨詢 0元開店