vue组件的props问题

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没传入时生效, 不能用来合并 对象属性,像楼上所说,你的需求可以通过计算属性来实现。

vue2 API文档之 props

两种常见的试图变更一个 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

回到顶部