父组件给子组件传递一个对象,vue通过引用改这个对象的值,请给出一个这样例子的代码
时间: 2024-04-21 21:22:40 浏览: 10
当父组件给子组件传递一个对象时,子组件可以通过引用修改该对象的值。以下是一个示例代码:
父组件模板:
```html
<template>
<div>
<h1>父组件</h1>
<ChildComponent :data="obj"></ChildComponent>
<button @click="updateObj">修改对象值</button>
</div>
</template>
<script>
export default {
data() {
return {
obj: { name: 'John', age: 25 }
};
},
methods: {
updateObj() {
this.obj.name = 'Alice';
this.obj.age = 30;
}
}
};
</script>
```
子组件模板:
```html
<template>
<div>
<h2>子组件</h2>
<p>Name: {{ data.name }}</p>
<p>Age: {{ data.age }}</p>
</div>
</template>
<script>
export default {
props: ['data']
};
</script>
```
在上述代码中,父组件中的 `obj` 对象被传递给了子组件的 `data` 属性。子组件通过 `props` 接收该属性并在模板中展示。
当点击父组件中的按钮时,`updateObj` 方法会修改 `obj` 对象的属性值。由于对象是引用类型,在子组件中展示的值也会随之更新。
这样,当父组件修改了 `obj` 对象的值时,子组件中展示的内容也会相应地更新。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)