vue2 父传子一个对象,子组件不仅设置默认值,而且在子组件页面渲染了默认值
时间: 2023-11-30 13:12:37 浏览: 88
vue-prop父组件向子组件进行传值的方法
要在父组件中传递一个对象到子组件中,并且在子组件中设置默认值并且渲染默认值,可以使用 Vue.js 的 props 和 computed 属性来实现。
在父组件中,通过 props 将对象传递到子组件中:
```html
<template>
<div>
<child-component :my-object="myObject"></child-component>
</div>
</template>
<script>
export default {
data() {
return {
myObject: { name: 'John', age: 30 }
}
}
}
</script>
```
在子组件中,通过 props 接收父组件传递的对象,并且使用 computed 属性设置默认值并且渲染默认值:
```html
<template>
<div>
<p>Name: {{ myObject.name }}</p>
<p>Age: {{ myObject.age }}</p>
</div>
</template>
<script>
export default {
props: ['myObject'],
computed: {
defaultObject() {
return {
name: 'Jane',
age: 25
}
}
},
data() {
return {
// 使用默认值
myObject: this.defaultObject
}
}
}
</script>
```
在子组件中,使用 computed 属性设置一个名为 defaultObject 的计算属性,返回一个包含默认值的对象。在 data 中,将 myObject 设置为 defaultObject,这样如果父组件没有传递对象,子组件就会使用默认值渲染页面。如果父组件传递了对象,子组件就会使用父组件传递的对象渲染页面。
阅读全文