uniapp使用watch怎么监听子组件传给父组件带参数方法的参数变化
时间: 2023-09-14 07:05:59 浏览: 82
如果你想在父组件中监听子组件传递的带参数方法的参数变化,可以使用`$watch`方法。在父组件中使用`$watch`方法监听子组件传递的带参数方法的参数变化,示例如下:
```javascript
// 父组件
export default {
data() {
return {
message: ''
}
},
methods: {
onChildMethodChange(val) {
this.message = val
}
},
components: {
childComponent
},
mounted() {
this.$watch(() => {
return this.$refs.childRef.childMethodParam
}, (val) => {
this.onChildMethodChange(val)
})
}
}
```
在父组件的`mounted`生命周期函数中,使用`$watch`方法监听子组件传递的带参数方法的参数变化。`$refs`用于获取子组件实例,`childRef`是在子组件中通过`ref`属性指定的引用名称,在父组件中通过`$refs`获取子组件实例。`childMethodParam`是子组件中带参数方法的参数,通过`return`返回给`$watch`方法进行监听。当子组件中带参数方法的参数发生变化时,`$watch`方法会触发回调函数`onChildMethodChange`,将变化的参数值`val`传递给父组件。在`onChildMethodChange`方法中,将变化的参数值赋值给`message`,从而实现了监听子组件传递的带参数方法的参数变化。
阅读全文