微信小程序子組件向父組件傳值的兩種方法
更新時間:2024年09月09日 14:30:54 作者:九億少女無法觸及的夢?
本文介紹了微信小程序中子組件向父組件傳值的兩種方法,這兩種方法都能有效地實現(xiàn)子組件向父組件的數據傳遞,對于開發(fā)微信小程序的開發(fā)者來說,掌握這些技巧非常重要,感興趣的朋友跟隨小編一起看看吧
第一種方法triggerEvent() 方法
triggerEvent方法用法類似于Vue中的emit()
// list.wxml 組件 <view> <block wx:for="{{data}}" wx:key="*this"> <view class="box-list"> <view class="title">{{item.title}}</view> <view class="content"> <view>{{item.content}}</view> <view class="btn"> <button type="primary" size="mini" bindtap="handleTap" data-index="{{index}}">傳值</button> </view> </view> </view> </block> </view>
// list 組件 js Component({ // 從父組件接收的data 會自動同步到 子組件的data 對象里面 properties: { data: { type: Array, value: [] } }, methods: { handleTap(e) { let { index } = e.currentTarget.dataset; let data = this.data.data; // 自定義一個事件,并且傳值 this.triggerEvent('myevent',{params: data[index]},{}) }, } })
home.wxml 父組件
<view> <list bindmyevent="myevent" data="{{list}}" class="list"></list> </view> Page({ data: { list:[{ title: '薛之謙', content: '《演員》《你還要我怎樣》' },{ title: '第二夢', content: '《風云1》《風云2》' }] }, myevent(e) { // 這里就是子組件傳過來的內容了 console.log(e.detail.params) } })
第二種方法
頁面布局和上面是一樣的
.list 是子組件的class 名
// home.js 父組件的js Page({ onShow() { const instance = this.selectComponent('.list'); // 打印出來的就是list 組件的實例了,這樣就可以獲取到子組件所有的數據了! // 注意!這里也可以調用setData 等方法直接修改組件的值 console.log(instance) } })
到此這篇關于微信小程序子組件向父組件傳值的兩種方法的文章就介紹到這了,更多相關微信小程序子組件向父組件傳值內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JavaScript實現(xiàn)廣告的關閉與顯示效果實例
這篇文章主要介紹了JavaScript實現(xiàn)廣告的關閉與顯示效果,涉及javascript廣告窗口的關閉與顯示效果實現(xiàn)技巧,需要的朋友可以參考下2015-07-07webpack實現(xiàn)一個行內樣式px轉vw的loader示例
這篇文章主要介紹了webpack實現(xiàn)一個行內樣式px轉vw的loader示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09僅IE6/7/8中innerHTML返回值忽略英文空格的問題
僅IE6/7/8中innerHTML返回值忽略英文空格的問題,需要此問題的朋友可以參考下。2011-04-04JavaScript中常用的3種彈窗(警告框、確認框、提示框)
JavaScript提供了幾種常用的彈窗方法,用于與用戶進行交互或顯示提示消息,這篇文章主要給大家介紹了關于JavaScript中常用的3種彈窗的相關資料,分別包括警告框、確認框、提示框,需要的朋友可以參考下2023-09-09