javascript - 多个模板插槽的相同插槽内容

标签 javascript vue.js vue-multiselect

在vuejs中,有没有办法不用复制粘贴就可以为多个slot设置相同的内容?

所以这样:

<base-layout>
  <template slot="option">
    <span :class="'flag-icon-'   props.option.toLowerCase()" />{{ countriesByCode[props.option] }}
  </template>

  <template slot="singleLabel">
    <span :class="'flag-icon-'   props.option.toLowerCase()" />{{ countriesByCode[props.option] }}
  </template>
</base-layout>

可以这样写:

<base-layout>
  <template slot="['option', 'singleLabel']">
    <span :class="'flag-icon-'   props.option.toLowerCase()" />{{ countriesByCode[props.option] }}
  </template>
</base-layout>

非常感谢。

最佳答案

您可以尝试使用 v-for为此。

<base-layout>
  <template :slot="slotName" v-for="slotName in ['option', 'singleLabel']">
    <span :class="'flag-icon-'   props.option.toLowerCase()" />{{ countriesByCode[props.option] }}
  </template>
</base-layout>

参见 working example .

关于javascript - 多个模板插槽的相同插槽内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54090950/

相关文章:

javascript - 如何将超时变量分配给 Vuetify 中的 <v-alert> 标签?

javascript - 使用 vue-multiselect 添加更多动态下拉菜单

javascript - 循环中带有附加参数的回调

javascript - 选择后禁用下拉列表后如何从下拉列表中获取所选值

javascript - Vue.js 2/Javascript mouseover 方法在 mousein 和 mouseout 上应用事件

vue.js - 在 mapActions() 中找不到 Vuex 模块命名空间

laravel - Vue 多选 laravel 提交表单

javascript - 使用 VuejS 在 v-model 中传递对象

javascript - 将参数传递给 .js 文件

javascript - 在Javascript中添加元素时的动态div