微信小程序 子组件如何获取父组件实例
时间: 2023-08-18 16:11:21 浏览: 362
在微信小程序中,子组件可以通过使用 `this.parent` 来获取父组件的实例。以下是一个示例:
在父组件中,可以通过 `this.selectComponent()` 方法来获取子组件的实例,并将其传递给子组件的 `parent` 属性:
```javascript
// 父组件.js
Component({
methods: {
getChildInstance() {
const child = this.selectComponent("#child");
child.setParent(this);
}
}
})
```
在子组件中,可以通过 `this.parent` 来访问父组件的实例:
```javascript
// 子组件.js
Component({
properties: {
parent: {
type: null,
value: null
}
},
methods: {
setParent(parent) {
this.setData({
parent
});
},
getParentInstance() {
console.log(this.parent); // 父组件实例
}
}
})
```
在父组件的模板中,通过调用 `getChildInstance` 方法来获取子组件实例,并将其传递给子组件的 `parent` 属性:
```html
<!-- 父组件.wxml -->
<child-component id="child" parent="{{parent}}"></child-component>
```
当需要在子组件中获取父组件的实例时,可以调用子组件的 `getParentInstance` 方法。
阅读全文