vue 监听父组件的值发生改变 子组件调用函数重新渲染
时间: 2023-09-16 22:09:22 浏览: 396
Vue 父子组件的数据传递、修改和更新方法
你可以使用 Vue 的 watch 属性来监听父组件的值是否发生了改变,然后在 watch 函数中调用子组件的方法来重新渲染子组件。
例如,假设父组件有一个值叫做 `parentValue`,子组件有一个方法叫做 `rerender`,你可以这样写:
```javascript
Vue.component('child-component', {
// ...
methods: {
rerender() {
// 重新渲染子组件
}
},
// ...
});
new Vue({
el: '#app',
data: {
parentValue: 'initial value'
},
watch: {
parentValue(newValue, oldValue) {
// 父组件的值发生了改变,调用子组件的方法重新渲染子组件
this.$refs.childComponent.rerender();
}
}
});
```
在上面的代码中,我们使用了 `this.$refs.childComponent` 来获取子组件实例,然后调用了 `rerender` 方法来重新渲染子组件。当父组件的 `parentValue` 值发生改变时,watch 函数会自动触发,并且会传入新值和旧值作为参数。
阅读全文