vue组件的props问题
请问下我在子组件定义一个
// 带有默认值的对象propE: {
type: Object,
// 对象或数组默认值必须从一个工厂函数获取
default: function () {
return { message: 'hello' }
}
},
如果我在父组件调用时传的对象:propE="{ test:'1213' }"。。它是没有message这个属性的,,如何把父组件传入参数和子组件定义的propE合并
回答:
用计算属性
computed:{mixProp(){
let obj={mmessage:'abc'};
let t=Object.assign({},obj,this.propE)
return t
}
}
回答:
default:any为该 prop 指定一个默认值。如果该 prop 没有被传入,则换做用这个值。对象或数组的默认值必须从一个工厂函数返回。
由文档解释我们可以很清楚地知道 default 的内容只在该prop没传入时生效, 不能用来合并 对象属性,像楼上所说,你的需求可以通过计算属性来实现。
两种常见的试图变更一个 prop 的情形
回答:
props: ['propE'],data: function () {
return {
propELocal: {message: 'hello', test: this.propE.test}
}
}
或者
props: ['propE'],computed: {
propELocal: function () {
return {message: 'hello', test: this.propE.test}
}
}
以上是 vue组件的props问题 的全部内容, 来源链接: utcz.com/p/935923.html