0

    微信小程序父子组件传值及方法调用方法汇总

    2023.06.10 | admin | 129次围观

    这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战

    自定义组件封装

    注册一个 tab 组件

    在 components 文件夹下,创建一个tabs文件夹,点击tabs右建就能看到一个新建compoent,点完一个新的组件就注册成功了。

    组件使用

    在需要使用该组件的页面的 json 页面上导入组件,在 wxml 下像 HTML 标签一样使用就好了。

    
    复制代码

    什么是父组件,什么是子组件?父组件就是在页面中需要引入其他的组件的组件,而子组件就是引入的组件。父向子传递数值微信小程序组件传值微信小程序组件传值,是通过属性的方式来传值,而子向父传值还要通过方法的方式来传值。

    父组件向子组件传值

    父组件通过属性传值

    "{{params}}">
    复制代码

    子组件通过properties接收:

    properties: {
    	childParams: { type: String }
    }
    复制代码

    子组件调用父组件方法

    微信小程序父子组件传值及方法调用方法汇总

    这个方法也可以理解为子组件向父组件传递参数的方法。

    父组件定义方法,childFun是子组件中的方法名,fun是父组件中的方法名。我们通过chidlFun来调用fun。

    "{{params}}" bind:childFun="fun">
    复制代码

    父组件方法:

    childFun(e){
    	console.log('我是父组件的方法', e)
    }
    复制代码

    当点击子组件的按钮执行 clickFun 时调用父组件的方法

    clickFun(){
    	this.triggerEvent('childFun');//如果需要传递参数,直接写在triggerEvent的参数里即可
    }
    复制代码

    父组件调用子组件的方法

    "childEle" childParams="{{params}}" bind:childFun="fun">
    复制代码

    父组件的 onReady 生命周期中获取 childEle 元素

    onReady(){
    	this.childEle = this.selectComponent('#childEle');
    }
    复制代码

    父组件的点击事件 childF 调用子组件的事件:

    "childF">我是父组件的点击事件
    复制代码

    父组件触发子组件的方法:

    childF(){
    	this.childEle.foo()
    }
    复制代码

    这里的 foo即为子组件的方法。

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论