组件中slot的应用

应用场景当我们在定义某个组件时,需要在引用组件时可在对组件进行一些当前页面所需的自定义内容,此时可在组件内通过slot插槽进行定义。
 
举例:我们需要一个导航标题栏,左边显示标题,右边可能需要一个按钮或者其他自定义内容。
 
组件文件NavView.vue:
<template>
  <div class="nav_box">
    <div class="nav_title">{{title}}</div>
    <slot name="btn"></slot>
  </div>
</template>

<script>
export default {
  props: {
    title: {
      type: String,
      default: "",
    },
  },
};
</script>

<style scoped>
.nav_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.nav_title {
  font-size: 18px;
  font-weight: bold;
}
</style>

调用组件文件:

<template>
    <nav-view title="标题">
        <template v-slot:btn><Button>新建</Button></template>
    </nav-view>
</template>
<script>
    import NavView from "../components/NavView";
    export default {
        components:{NavView}
    }
</script>

 

posted @ 2022-06-22 15:18  南无、  阅读(132)  评论(0)    收藏  举报