vue子组件监听父组件传过来的对象,并刷新页面
时间: 2023-09-15 20:19:00 浏览: 73
vue中如何让子组件修改父组件数据
5星 · 资源好评率100%
在 Vue 中,子组件可以通过 props 接收父组件传递过来的数据,也可以通过 $emit 触发事件通知父组件。当父组件传递的对象发生变化时,可以使用 watch 监听该对象的变化,并在回调函数中更新子组件的数据或重新渲染页面。
例如,父组件中有一个对象 dataObj,子组件通过 props 接收该对象,并使用 watch 监听该对象的变化:
```javascript
// 父组件
<template>
<div>
<child-component :dataObj="dataObj"></child-component>
</div>
</template>
<script>
export default {
data() {
return {
dataObj: { /* 父组件传递给子组件的对象 */ }
}
}
}
</script>
// 子组件
<template>
<div>
<!-- 子组件中使用父组件传递过来的对象 -->
<p>{{dataObj}}</p>
</div>
</template>
<script>
export default {
props: ['dataObj'],
watch: {
// 监听父组件传递的对象变化
dataObj: function(newVal, oldVal) {
// 在这里更新子组件的数据或重新渲染页面
}
}
}
</script>
```
当父组件传递的 dataObj 对象发生变化时,子组件会自动更新。你可以在 watch 回调函数中更新子组件的数据或重新渲染页面。
阅读全文