首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vue.js -如何将道具传递给带有槽的组件元素

Vue.js -如何将道具传递给带有槽的组件元素
EN

Stack Overflow用户
提问于 2020-07-19 09:54:37
回答 1查看 358关注 0票数 1

我试图从包含插槽的组件元素中传递道具。

PatientBooking.vue

代码语言:javascript
复制
<user-profile :titlename="BOOKINGDETAIL">
  <div class="block">
    <div>Ereferral: 84884jjd</div>
    <div>Gender: Male</div>
    <div>Height: 84</div>
  </div>
</user-profile>

UserProfile.vue

代码语言:javascript
复制
<div class="block">
  <div class="block">
    <template v-if="titlename == 'BOOKINGDETAIL'">BOOKING DETAIL</template>
    <template v-else-if="titlename == 'BOOKING'">BOOKING</template>
    <template v-else>RESULT DETAIL</template>
  </div>
  <div class="block">
    <slot></slot>
  </div>
</div>

export default {
  name: "UserProfile",
  props: {
    titlename: {
      type: String,
      default: ""
    }
  }
}  

现在,每当我将user-profile组件与titlename道具绑定到没有进入UserProfile组件中的任何单词时,它总是默认为空字符串,该字符串显示结果细节。

请帮我解决这个问题

EN

回答 1

Stack Overflow用户

发布于 2020-07-19 10:12:30

尝试像这样使用作用域槽

UserProfile.vue

代码语言:javascript
复制
<div class="block">
  <div class="block">
    <template v-if="titlename == 'BOOKINGDETAIL'">BOOKING DETAIL</template>
    <template v-else-if="titlename == 'BOOKING'">BOOKING</template>
    <template v-else>RESULT DETAIL</template>
  </div>
  <div class="block">
    <slot :title="titlename"></slot>
  </div>
</div>

PatientBooking.vue

代码语言:javascript
复制
<user-profile :titlename="BOOKINGDETAIL">
 <template v-slot:default="slotProps">
  <div class="block">
   // use slotProps.title to get access to titlename passed via slots
    <div>Ereferral: 84884jjd</div>
    <div>Gender: Male</div>
    <div>Height: 84</div>
  </div>
</template>
</user-profile>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62978737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档