slot:插槽,官方示例地址:https://cn.vuejs.org/v2/guide/components-slots.html
只有一个插槽时,有默认名称“default”;
当有两个及以上时,对slot进行命名;使用的时候在<template>
元素上使用 v-slot
指令,并以 v-slot
的参数的形式提供其名称
定义页面:slotDemo.vue
<template> <div> <label>slot演示</label><br/> <slot></slot><br/> <slot name="first"></slot><br/> <label>第二个slot</label><br/> <slot name="second"></slot> </div> </template> <script lang="ts"> import Vue from 'vue'; import Component from "vue-class-component" /** * 模板页面 */ @Component({}) export default class SlotDemo extends Vue { } </script> <!-- Add "scoped" attribute to limit CSS to this component only --> <style scoped> </style>
调用页面:SlotShow.vue
<template> <div> <u-slot-demo> default slot <!--一个不带 name 的 <slot> 出口会带有隐含的名字“default”。--> <template v-slot:first> I am fist-slot </template> <template slot="second"> I am second-slot </template> </u-slot-demo> </div> </template> <script lang="ts"> import Vue from 'vue'; import Component from "vue-class-component" import slotDemo from "./slotDemo.vue"; /** * 调用页面 */ @Component({ components: { "u-slot-demo": slotDemo // 组件 } }) export default class SlotShow extends Vue { protected person: any = {FirstName: "qiong"}; } </script> <!-- Add "scoped" attribute to limit CSS to this component only --> <style scoped> </style>