Vue.js 如何将注册的vue组件作为道具传递给组件

Vue.js 如何将注册的vue组件作为道具传递给组件,vue.js,Vue.js,需要使用道具将组件传递给子组件,或者您有更好的方法来解决此问题 我注册了需要全局传递的组件,或者只是在本地注册了这个组件。但是这些解决方案不能解决我的问题 下面是我注册本地传递所需组件的代码: a.vue html <dropdown :icon="UserIcon"></dropdown> <div class="dropdown"><icon></icon></div> dropdown.vue html <d

需要使用道具将组件传递给子组件,或者您有更好的方法来解决此问题

我注册了需要全局传递的组件,或者只是在本地注册了这个组件。但是这些解决方案不能解决我的问题

下面是我注册本地传递所需组件的代码: a.vue html

<dropdown :icon="UserIcon"></dropdown>
<div class="dropdown"><icon></icon></div>
dropdown.vue html

<dropdown :icon="UserIcon"></dropdown>
<div class="dropdown"><icon></icon></div>
UserIcon.vue

<i class="user-icon"></i>


浏览器提醒我图标是未知的自定义元素。vue似乎不支持这种使用组件的方式,不是吗?

我使用插槽解决了这个问题

还有一个问题来了

a、 vue


dropdown.vue

<div class="dropdown"><slot name="icon"></slot></div>
<div class="dropdown"><slot></slot></div>

但图标用户组件没有显示

我做了这项工作,因为我删除了slot的name属性。 a、 vue


dropdown.vue

<div class="dropdown"><slot name="icon"></slot></div>
<div class="dropdown"><slot></slot></div>


那么您希望
用户图标
组件嵌套在
下拉列表中
?为什么不把它放在默认的
?你说得对,我现在就做了。它是有效的~我能问另一个问题吗,如何在下拉组件中传递更多组件?你能花时间阅读我对这个问题的回答吗?我在那里显示了我的最新代码。好的……我解决了这个问题
v-slot=“icon”
来自官方[链接](网站:)的代码无效。但是,您可以编写
slot=“icon”
,它可以工作!!