需求,把A子組件的值傳給父組件,在通過父組件傳給子組件接收
A子組件
js: data
組件間的基本通信方式有以下幾種。
this.selectComponent
方法獲取子組件實例對象,這樣就可以直接訪問組件的任意數據和方法。事件系統是組件間通信的主要方式之一。自定義組件可以觸發任意的事件,引用組件的頁面可以監聽這些事件。關于事件的基本概念和用法,參見 事件 。
監聽自定義組件事件的方法與監聽基礎組件事件的方法完全一致:
代碼示例:
<!-- 當自定義組件觸發“myevent”事件時,調用“onMyEvent”方法 --><component-tag-name bindmyevent="onMyEvent" /><!-- 或者可以寫成 --><component-tag-name bind:myevent="onMyEvent" />
Page({ onMyEvent: function(e){ e.detail // 自定義組件觸發事件時提供的detail對象 }})
自定義組件觸發事件時,需要使用 triggerEvent
方法,指定事件名、detail對象和事件選項:
代碼示例:
在開發者工具中預覽效果
<!-- 在自定義組件中 --><button bindtap="onTap">點擊這個按鈕將觸發“myevent”事件</button>
Component({ properties: {}, methods: { onTap: function(){ var myEventDetail = {} // detail對象,提供給事件監聽函數 var myEventOption = {} // 觸發事件的選項 this.triggerEvent('myevent', myEventDetail, myEventOption) } }})
觸發事件的選項包括:
選項名 | 類型 | 是否必填 | 默認值 | 描述 |
---|---|---|---|---|
bubbles | Boolean | 否 | false | 事件是否冒泡 |
composed | Boolean | 否 | false | 事件是否可以穿越組件邊界,為false時,事件將只能在引用組件的節點樹上觸發,不進入其他任何組件內部 |
capturePhase | Boolean | 否 | false | 事件是否擁有捕獲階段 |
關于冒泡和捕獲階段的概念,請閱讀 事件 章節中的相關說明。
代碼示例:
在開發者工具中預覽效果
// 頁面 page.wxml<another-component bindcustomevent="pageEventListener1"> <my-component bindcustomevent="pageEventListener2"></my-component></another-component>
// 組件 another-component.wxml<view bindcustomevent="anotherEventListener"> <slot /></view>
// 組件 my-component.wxml<view bindcustomevent="myEventListener"> <slot /></view>
// 組件 my-component.jsComponent({ methods: { onTap: function(){ this.triggerEvent('customevent', {}) // 只會觸發 pageEventListener2 this.triggerEvent('customevent', {}, { bubbles: true }) // 會依次觸發 pageEventListener2 、 pageEventListener1 this.triggerEvent('customevent', {}, { bubbles: true, composed: true }) // 會依次觸發 pageEventListener2 、 anotherEventListener 、 pageEventListener1 } }})
// 說人話
// 首先小程序在父組件中,通過引用子組件(或者說組件)之后,通過屬性item,index;把組組件中的數據,
// 傳值到子組件之后,子組件在properties中接收到值;
// 然后子組件通過自身的事件,比如catchtap="listtap"方法,激活自定義事件
// 接著子組件可以通過第二個參數,進行傳值到父組件中,就把子組件中的index傳給了父組件中
// 說人話
// 首先小程序在父組件中,通過引用子組件(或者說組件)之后,通過屬性item,index;把組組件中的數據,
// 傳值到子組件之后,子組件在properties中接收到值;
// 然后子組件通過自身的事件,比如catchtap="listtap"方法,激活自定義事件
// 接著子組件可以通過第二個參數,進行傳值到父組件中,就把子組件中的index傳給了父組件中
在任何時代,
教育說起來都是一件高大上的事,
但卻沒有什么真正有價值的東西是教得會的,
沒有任何一種文化模因
可以說清楚一個個體的全部問題。
在任何時代,
想要抓住人性的弱點來賺錢都非常容易,
沒有一點高級。
相反,想要建設一種文化,
耐心地拆除信息壁壘,
并且能夠堅持下來,
那真不是一般的不易。
在任何時代,
在一秒鐘內看到本質的人,
和花半輩子看不清的人,
自然是不一樣的命運。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
電腦沒網怎么裝網卡驅動?電腦可以安裝網卡驅動程序時如何安裝?;t連接到互聯網的步驟如下:首先,我們需要安裝一個名為 "驅動程序向導 "對于沒有連接到互聯網的計算機。您可以使用連接到互聯網的電腦或手機來獲取該軟件,特別是對于可以訪問互聯網的電腦用戶,您可以通過搜索 "驅動程序向導 "并將其安裝在未連接到互聯網的計算機上。運行 "驅動程序向導 "非聯網計算機中的程序。這時程序會自動檢測電腦的非聯網狀態...
工作總結如何寫得有新意?寫工作總結一定要有創新,即使你今年的工作不值得一提,也要有創新。也就是說,工作總結要學會用文字創造花朵,使他充滿活力。讓我們談談總結工作中新想法的方法。1。我想一年四季,只要善于發現、總結、總結,工作中總會有亮點和新地方,這就需要你培養一雙發現“新思想”的眼睛。2. 精辟的總結,新版本的內容。如果你發現自己過去一年的作品沒有什么新意,那就把仍然值得炫耀的老作品放進一瓶“新老...
冰糖葫蘆歌原唱?《冰糖葫蘆》的原曲是:馮曉泉。這首歌由《冰糖葫蘆》馮曉泉演唱,馮曉泉作曲,張和平和杜鵬作詞。冰糖葫蘆原唱是誰?《糖葫蘆》這首歌的原唱是馮曉泉。馮曉泉,音樂人,滿族,出生于哈爾濱,歌手,國家新銳音樂人。冰糖葫蘆蔡國慶原唱?不,《糖葫蘆》這首歌的原唱是馮曉泉。歌詞:都說糖葫蘆是酸的,酸中裹著甜。都說糖葫蘆是甜的,其實里面是酸的。糖葫蘆掛在竹簽上很好看,象征著幸福和團圓。把幸福和團圓連在...