微信小程序中的父子组件通信(详细)

本文详细介绍了如何在微信小程序中定义和使用子组件,包括在父组件中引入并传参,以及子组件如何接收和处理这些数据,同时涉及了父子组件间的事件触发与监听机制。
摘要由CSDN通过智能技术生成

父组件向子组件传参

首先定义子组件  微信小程序中定义组件 

一般我们定义在components文件中 在app.json中 创建

 "pages": [

        "pages/login/login",

        "pages/home/home",

        "pages/orderform/orderform",

        "pages/mine/mine",

        "components/dt-scroll-y/dt-scroll-y",

        "components/choiceimg/choiceimg",

        "components/checkimg/checkimg"

    ],

之后在父组件中引入子组件  首先在父组件的json中直接引入 

.json

"usingComponents": {

        "choiceimg":"/components/checkimg/checkimg"

    }

在wxml页面中使用双标签 <choiceimg></choiceimg>

后在子组件的json中设置

choiceimg.json

{

    "component": true

}

这样组件引用完成;

父传子:

父组件中有个数据lookimgdata  定义为imgdata传递给子组件;

<choiceimg imgdata="{{lookimgdata}}"  ></choiceimg>

 子组件在 .js文件中接收


Component({
    properties: {
        imgdata:{
            type:Object,
        },
    },
    methods:{
        
    },
    /**
     * 页面的初始数据
     */
    data: {

    },
   
})

子组件js中必须是Component  接收数据在

properties: {

        imgdata:{

            type:Object,

        },

    },

使用数据   js中直接  this.data.imgdata  wxml页面中就{{imgdata}} 

 子传父:

在子组件中定义了事件;

<view class="choiceimg_list">

        <view class="choiceimg_btn1" bindtap="getclose">关闭</view>

 </view>

 

methods:{

        getclose(){

            console.log(this.data.imgdata,'111');

            this.triggerEvent('close',this.data.imgdata.id);

        },        

    },

 this.triggerEvent 是固定语句  参数中 第一个参数为传递的方法名 就是在父组件中接收的方法名   第二个参数就是携带的数据;

父组件接收方法

<choiceimg  bindclose="getclose" ></choiceimg>

bindclose : bind是固定的  后面跟的就是子组件中定义的方法名close  连起来 就 bindclose

getclose(e){

        console.log(e)

    },

 携带的参数就在e里面;

这样就可以完美的父子组件通信了!!!  如有不全还望大佬们进行补全!!! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值