Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 未传递到动态组件的道具_Vue.js_Vuejs2_Vue Dynamic Components - Fatal编程技术网

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']
},