Javascript 为什么我在v-for内的插槽中只得到一个元素?

Javascript 为什么我在v-for内的插槽中只得到一个元素?,javascript,vue.js,Javascript,Vue.js,在我的vue应用程序代码中,我有一个swiper组件。在这个组件中,我有一个v-for和一个插槽 在父组件(Foo)中,我需要捕获我放入插槽中的组件(baz),按ref。问题是它只返回一个元素,而不是数组 如何保持组件的这种形状,并且仍然获得我期望的阵列?可能吗 从“Vue”导入Vue; Vue.config.productionTip=false; 常数Foo={ 模板:` `, 数据:函数(){ 返回{ 项目:[1,2,3,4,5] }; }, 挂载:函数(){ 这个。$nextTick(

在我的vue应用程序代码中,我有一个swiper组件。在这个组件中,我有一个v-for和一个插槽

在父组件(Foo)中,我需要捕获我放入插槽中的组件(baz),按ref。问题是它只返回一个元素,而不是数组

如何保持组件的这种形状,并且仍然获得我期望的阵列?可能吗

从“Vue”导入Vue;
Vue.config.productionTip=false;
常数Foo={
模板:`
`,
数据:函数(){
返回{
项目:[1,2,3,4,5]
};
},
挂载:函数(){
这个。$nextTick()。然后(()=>{
log({refs:this.$refs.baz});
});
}
};
const Baz={template:“im Baz”};
常数开关={
模板:`
`,
道具:[“道具”]
};
Vue.组件(“foo”,foo);
Vue.组件(“baz”,baz);
Vue.组件(“开关”,开关);
新Vue({
渲染:h=>h(Foo)
}).$mount(“#app”)

您需要更改结构。不要在
swiper
模板中使用
v-for
,而是在
foo
模板中使用它。让
swiper
模板处理仅呈现单个项目的操作。以下是您所期望的工作示例: