【发布时间】:2019-03-04 12:08:33
【问题描述】:
在 Vue 2.0 应用程序中,假设我们有组件 A、B 和 C。
A 声明、注册和使用 B
是否可以将 C 从 A 传递到 B?
类似这样的:
<template>
<div class="A">
<B :child_component="C" />
</div>
</template>
并以某种方式在 B 中使用 C。
<template>
<div class="B">
<C>Something else</C>
</div>
</template>
动机:我想创建一个通用组件B,它在A 中使用,但从A 接收它的子组件C。实际上A 会使用B 多次传递不同的'C'。
如果这种方法不正确,在 Vue 中正确的做法是什么?
回答@Saurabh
我尝试了 B 内部的建议,而不是作为道具传递。
<!-- this is where I Call the dynamic component in B -->
<component :is="child_component"></component>
//this is what I did in B js
components: {
equip: Equipment
},
data () {
return {
child_component: 'equip',
_list: []
}
}
基本上我是在尝试渲染设备,但是动态的方式
我在控制台中遇到 3 个错误和一个空白页
[Vue 警告]:在 /home/victor/projetos/tokaai/public/src/components/EquipmentFormItem.vue 处渲染组件时出错:
未捕获的类型错误:无法读取未定义的属性“名称”
TypeError: 无法读取未定义的属性“setAttribute”
显然我做错了什么
【问题讨论】:
-
您确定这些错误仅来自这些代码吗?您在哪里使用
setAttribute或name属性? -
必须是某个内部进程。我没有在这个应用程序中这样做
标签: javascript vue.js vuejs2 vue-component