uniappp怎么使用父组件实时监听子组件参数,使用this.$emit('param-change', param);不能够实时监听怎办
时间: 2024-03-03 22:53:30 浏览: 193
解决Vue.js父组件$on无法监听子组件$emit触发事件的问题
5星 · 资源好评率100%
如果你在使用 `this.$emit('param-change', param)` 向父组件传递参数时,父组件无法实时监听到参数变化,可以尝试使用 `watch` 监听子组件传递的参数变化。具体实现方法如下:
1. 在父组件中定义一个 `watch`,监听子组件传递的参数变化:
```
watch: {
paramFromChild(newVal) {
// 参数变化时的处理逻辑
}
}
```
2. 在子组件中使用 `this.$emit` 向父组件传递参数,并在子组件中定义一个 `computed` 属性,将参数绑定到该属性上:
```
computed: {
param() {
return this.paramFromChild;
}
},
methods: {
changeParam() {
this.paramFromChild = 'new value';
this.$emit('param-change', this.paramFromChild);
}
}
```
这样,当子组件的参数变化时,父组件就能够实时监听到参数变化,并进行相应的处理。注意,在父组件中监听子组件参数变化时,需要监听子组件中定义的参数名,即 `paramFromChild`。
阅读全文