当前位置: 代码网 > it编程>编程语言>Javascript > 微信小程序子组件向父组件传值的两种方法

微信小程序子组件向父组件传值的两种方法

2024年10月30日 Javascript 我要评论
第一种方法triggerevent() 方法triggerevent方法用法类似于vue中的emit()// list.wxml 组件<view> <block wx:for="{

第一种方法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)
	}
})

到此这篇关于微信小程序子组件向父组件传值的两种方法的文章就介绍到这了,更多相关微信小程序子组件向父组件传值内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com