admin 管理员组

文章数量: 887031


2024年2月4日发(作者:transient和ephemeral)

小程序调用子组件方法

1 小程序调用子组件方法

微信小程序虽然不支持独立的子页面,但是可以使用组件来实现类似于页面嵌套的效果。小程序的组件,可以在页面中声明一个节点,来指定渲染的组件模板,并把页面的状态传入组件模板,可以让子组件获取并处理页面的相关状态。但是有时候,我们需要将页面的方法调用传播到子组件中,使子组件能够调用页面的方法和状态,来实现页面和组件之间的交互。那么小程序中,一般采用哪种方式来实现小程序调用子组件方法呢?

1.1 小程序中父组件调用子组件方法

小程序中,有两种方式可以实现页面调用子组件的方法,一种是父组件调用子组件方法,即页面中的js中通过Component()方法获取到组件对象,然后再调用组件对象上的方法。

例如:在页面中调用、向子组件传递参数:

```javascript

Page({

data: {

param: 'this is a parameter',

},

onLoad() {

// 调用子组件中定义的方法

let mycomponent =Component('#mycomponent')

();

}

})

```

1.2 小程序子组件调用父组件方法

除了父组件调用子组件方法,子组件也可以调用父组件里定义的方法,即使用rEvent('myevent') 触发页面的自定义事件,在自定义的事件中携带的参数可以在页面的js中通过来获取。

例如:子组件中通过triggerEvent向父组件传递参数:

```javascript

Component({

properties: {

customProps: {

type: String,

value: '',

},

},

methods: {

sendPropsToPage(){

rEvent('myevent', Props);

},

},

})

```

以上就是微信小程序中调用子组件和从子组件传参给父组件的方式,使得多个组件可以交互,小程序组件也可以通过触发事件实现页面与组件之间的数据传输和通信,让小程序开发更加快捷有效。


本文标签: 组件 页面 调用