美文网首页vue
Vue高级特性「六」--slot 插槽

Vue高级特性「六」--slot 插槽

作者: loushumei | 来源:发表于2020-10-29 20:21 被阅读0次

基本使用

父组件在引用的子组件中添加内容

<slotDemo :url="website.url">
  {{website.title}} //父组件添加的内容
</slotDemo>
data() {
  return {
    website:{
      url:'http://www.baidu.com',
      title:'百度',
    },
  };
},

子组件 slotDemo.vue

<template>
  <div>
    <a :href="url">
      <slot>
        默认内容,即父组没设置内容是,这是显示
      </slot>
    </a>
  </div>
</template>

作用域插槽

父组件可以拿到子组件的数据

  • 1.把组件的的数据website 绑定到 slot 的一个自定义属性slotDate上
  • 2.在父组件里定义 template 设置v-slot为任意命名参数slotProps,
  • 3.数据取值为:slotProps.子组件命名数据.具体数据字段

子组件 ScopedSlotDemo.vue

<template>
  <div>
    <a :href="url">
    //把组件的的数据website 绑定到 slot 的一个自定义属性slotDate上
      <slot :slotDate="website"> 
        {{website.title}} 
      </slot>
    </a>
  </div>
</template>

<script>
export default {
  props: ['url'],
  data() {
    return {
      website:{
        url:'http://www.baidu.com',
        title:'百度1',
        subTitle:'百度一下,你就知道1'
      }
    };
  },
};
</script>

父组件 调用数据

<ScopedSlotDemo :url="website.url">
  //在 template 设置v-slot为任意命名参数slotProps,
  // 取值 slotProps.子组件slot上自定义属性slotDate.子组件数据
  <template v-slot="slotProps">
    {{slotProps.slotDate.title}}
  </template>
</ScopedSlotDemo>

具名插槽

子组件 NameSlot 定义多个solt添加 name属性来标识

<div>
  <header>
    <slot name="header"></slot>
  </header>
  <main>
    <solt></solt>
  </main>
  <footer>
    <slot name="footer"></slot>
  </footer>
</div>

父组件:通过v-slot:name 来匹配到相同name的子组件

<NameSlot>
  <template v-slot:header>
    <h1>将插入 header slot中</h1>
  </template>
  <p>将插入 main slot中,及未命名的slot</p>
  <template v-slot:footer>
    <h1>将插入 footer slot中</h1>
  </template>
</NameSlot>

相关文章

  • Vue高级特性「六」--slot 插槽

    基本使用 父组件在引用的子组件中添加内容 子组件 slotDemo.vue 作用域插槽 父组件可以拿到子组件的数据...

  • Vue之深入理解插槽—slot, slot-scope, v-s

    Vue 2.6.0 以前Vue 2.6.0 以后具名插槽 slot具名插槽 v-slot作用域插槽 slot-sc...

  • vue插槽

    vue插槽slot的理解与使用 vue slot插槽的使用介绍及总结

  • vue中的slot(插槽)

    vue中的插槽————slot 什么是插槽? 插槽(Slot)是Vue提出来的一个概念,正如名字一样,插槽用于决定...

  • vue 插槽的使用

    vue 插槽手册 深入理解vue中的slot与slot-scope 插槽的使用其实是很简单首先要明白插槽是使用在子...

  • 18、Vue3 作用域插槽

    作用域插槽:让插槽内容能够访问子组件中,vue2中作用域插槽使用slot-scope,vue3中使用v-slot ...

  • vue3-slot-消息框-模态框

    1.前言 1.使用vue3 的slot插槽时,大部分和vue2-slot插槽[https://www.jiansh...

  • slot是什么?有什么作用?原理是什么?

    slot又名插槽,是Vue的内容分发机制,组件内部的模板引擎使用slot元素作为承载分发内容的出口。插槽slot是...

  • slot(插槽)

    slot又称插槽,是Vue的内容分发机制,组件内部的模板引擎使用slot元素作为承载分发内容的出口。插槽slot是...

  • slot 用法以及使用场景

    Vue的插槽slot,分为3种 匿名插槽 具名插槽 作用域插槽 前两种很好理解,无非就是子组件里定义一个slot占...

网友评论

    本文标题:Vue高级特性「六」--slot 插槽

    本文链接:https://www.haomeiwen.com/subject/paylvktx.html