Vue.js 未传递到动态组件的道具
我正在渲染动态组件:Vue.js 未传递到动态组件的道具,vue.js,vuejs2,vue-dynamic-components,Vue.js,Vuejs2,Vue Dynamic Components,我正在渲染动态组件: <component :is="element.name == 'text' ? element.component : false" v-bind="elementProps"></component> 与: 计算:{ 元素(){ 返回{ 名称:this.elementObject.type, 组成部分:{ 组件:{TextInput}, 模板:`` }, } }, elementProps(){ 常量道具={ 福美德:这个,福美德, sec
<component :is="element.name == 'text' ? element.component : false" v-bind="elementProps"></component>
与:
计算:{
元素(){
返回{
名称:this.elementObject.type,
组成部分:{
组件:{TextInput},
模板:``
},
}
},
elementProps(){
常量道具={
福美德:这个,福美德,
sectionId:this.sectionId,
elementId:this.elementId,
id:this.generateId()
};
返回道具;
},
}
。。但是我得到一个错误
属性或方法“formId”没有在实例上定义,而是在渲染过程中被引用。
尽管我正在传递道具。我做错了什么?在元素函数中创建组件时忘记定义道具,请尝试:
component: {
components: { TextInput },
template: `<text-input :form-id="formId"
:section-id="sectionId"
:element-id="elementId"
id="test2"></text-input>`,
props: ['formId', 'sectionId', 'elementId', 'id']
},
组件:{
组件:{TextInput},
模板:``,
道具:['formId','sectionId','elementId','id']
},
模板中的formId
、sectionId
和elementId
必须在组件中的某个位置定义为道具、数据或计算属性
component: {
components: { TextInput },
template: `<text-input :form-id="formId"
:section-id="sectionId"
:element-id="elementId"
id="test2"></text-input>`,
props: ['formId', 'sectionId', 'elementId', 'id']
},