首页 > 其他 > 详细

vue 插槽

时间:2020-01-11 14:39:54      阅读:76      评论:0      收藏:0      [点我收藏+]

默认插槽(匿名插槽)

father.vue

<template>
  <div class="father">
    <h3>这里是父组件</h3>
    <child>
      <div class="tmpl">
        <span>菜单1</span>
        <span>菜单2</span>
      </div>
    </child>
  </div>
</template>

<script>
  import child from "./child";

  export default {
    name: "father",
    components: {
      child
    }
  }
</script>

 因为父组件在里面写了html模板,那么子组件的匿名插槽这块模板就是下面这样。也就是说,子组件的匿名插槽被使用了,是被下面这块模板使用了。

child.vue

<template>
  <div class="child">
    <h3>这里是子组件</h3>
    <slot></slot>
  </div>
</template>

<script>
  export default {
    name: "slot"
  }
</script>

 

具名插槽

father.vue

<template>
  <div class="father">
    <h3>这里是父组件</h3>
    <child>
      <div class="tmpl" slot="up">
        <span>菜单1</span>
        <span>菜单2</span>
      </div>
      <div class="tmpl" slot="down">
        <span>菜单-1</span>
        <span>菜单-2</span>
      </div>
      <div class="tmpl">
        <span>菜单->1</span>
        <span>菜单->2</span>
      </div>
    </child>
  </div>
</template>

<script>
  import child from "./child";

  export default {
    name: "father",
    components: {
      child
    }
  }
</script>

child.vue

<template>
  <div class="child">
    <h3>这里是子组件</h3>
    <!--    具名插槽-->
    <slot name="up"></slot>
    <!--    具名插槽-->
    <slot name="down"></slot>
    <!--    匿名插槽-->
    <slot></slot>
  </div>
</template>

<script>
  export default {
    name: "slots"
  }
</script>

 

vue 插槽

原文:https://www.cnblogs.com/ronle/p/12179743.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!