小程序组件间传值

1、属性绑定(Props):

父组件通过在子组件标签上设置属性的方式向子组件传值。

子组件通过properties定义接收的属性
父组件:

wxml

bash 复制代码
   <child-component title="{{parentData}}"></child-component>

子组件:

js

bash 复制代码
   properties: {
     title: {
       type: String,
       value: ''
     }
   }

2、事件(event):

子组件触发事件,将数据通过事件参数传递给父组件
子组件

wxml

bash 复制代码
<view wx:if="{{outOperateStatus}}" class="single-confirm-btn {{!isStock ? 'disabled' : ''}}" bindtap="customEvent">
      确定
    </view>

js

bash 复制代码
methods:{
	customEvent(){
		this.triggerEvent('customEvent', {data: 'someData'});
	}
}

父组件:

wxml

bash 复制代码
   <child-component bind:customEvent="handleChildEvent"></child-component>
   //bind:可以省略不写,是冒泡事件
   //阻止冒泡(捕获事件):catch:customEvent=

js

bash 复制代码
   methods: {
     handleChildEvent(e) {
       const dataFromChild = e.detail.data;
     }
   }

3、全局变量

利用小程序的全局对象app.globalData进行跨页面或跨组件的数据共享

app.js:

bash 复制代码
   App({
     globalData: {
       sharedData: 'Hello'
     }
   });

获取:

bash 复制代码
   const app = getApp();
   const sharedData = app.globalData.sharedData;

4、URL参数:

通过页面跳转时在URL中携带参数

bash 复制代码
   wx.navigateTo({
     url: '/path/to/page?param=value'
   });

接收:

bash 复制代码
   onLoad(options) {
     const param = options.param;
   }

5、setData与this.selectComponent

在某些场景下,可以通过this.selectComponent获取子组件实例,直接调用子组件的方法或修改子组件的data
父组件:

bash 复制代码
   const child = this.selectComponent('#child-component');
   child.updateData(someData);

子组件:

bash 复制代码
   methods: {
     updateData(newData) {
       this.setData({
         data: newData
       });
     }
   }
相关推荐
说私域17 小时前
社群经济视域下智能名片链动2+1模式商城小程序的商业价值重构
人工智能·小程序·重构·开源
说私域1 天前
基于开源AI大模型、AI智能名片与商城小程序的购物中心“人货场车”全面数字化解决方案研究
人工智能·小程序·开源
计算机毕设指导61 天前
基于微信小程序图像识别的智能垃圾分类系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·分类·maven
lsyhaoshuai1 天前
微信小程序开发实战:打造一款功能完善的随机决策工具--小转盘-拯救困难选择症
微信小程序·小程序·notepad++
项目題供诗2 天前
微信小程序黑马优购(项目)(十)
微信小程序·小程序
计算机毕设指导62 天前
基于Django的本地健康宝微信小程序系统【源码文末联系】
java·后端·python·mysql·微信小程序·小程序·django
说私域2 天前
定制开发开源AI智能名片S2B2C商城小程序的产品经理职责与发展研究
人工智能·小程序·开源
一 乐2 天前
健身房预约|基于springboot + vue健身房预约小程序系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·学习·小程序
豌豆学姐2 天前
Sora2 能做什么?25 秒视频生成 API 的一次接入实践
大数据·人工智能·小程序·aigc·php·开源软件
李慕婉学姐2 天前
【开题答辩过程】以《智慧校园创新互助小程序的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·spring boot·小程序