美文网首页
VUE v-slot 指令

VUE v-slot 指令

作者: 一名有马甲线的程序媛 | 来源:发表于2020-12-30 10:41 被阅读0次

在 2.6.0 中,vue为具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令)。目前 slotslot-scope 这两个特性暂时还未被移除。

具名插槽

// 组件
Vue.component('p-hello', {
  template: `
    <div>
      <slot name="header"></slot>
      <h1>我的天呀</h1>
    </div>
  `
})
<div id="app">
  <!-- 老版本使用具名插槽 -->
  <p-hello>
    <p slot="header">我是头部</p>
  </p-hello>
  <!-- 新版本使用具名插槽 -->
  <p-hello>
    <!-- 注意:这块的 v-slot 指令只能写在 template 标签上面,而不能放置到 p 标签上 -->
    <template v-slot:header>
      <p>我是头部</p>
    </template>
  </p-hello>
</div>

具名插槽的缩写

v-slot: 替换成 #

<div id="app">
  <p-hello>
    <template #header>
      <p>我是头部</p>
    </template>
    <!-- 注意: #号后面必须有参数,否则会报错。即便是默认插槽,也需要写成 #default -->
    <template #default>
      <p>我是默认插槽</p>
    </template>
  </p-hello>
</div>

作用域插槽

所谓作用域插槽,就是让插槽的内容能够访问子组件中才有的数据。

Vue.component('p-hello', {
  data: function () {
    return {
      firstName: '张',
      lastName: '三'
    }
  },

  template: `
    <div>
      <slot name="header" :firstName="firstName" :lastName="lastName"></slot>
      <h1>我的天呀</h1>
    </div>
  `
})
<div id="app">
  <!-- 老版本使用具名插槽 -->
  <p-hello>
    <p slot="header" slot-scope="hh">我是头部 {{ hh.firstName }} {{ hh.lastName }}</p>
  </p-hello>
  <!-- 新版本使用具名插槽 -->
  <p-hello>
    <!-- 注意:这块的 v-slot 指令只能写在 template 标签上面,而不能放置到 p 标签上 -->
    <template v-slot:header="hh">
      <p>我是头部 {{ hh.firstName }} {{ hh.lastName }}</p>
    </template>
  </p-hello>
</div>

本文摘自前端大神之手 >>点击查看原文

相关文章

  • VUE-学习

    记录一些容易忘记的知识点 v-slot 在vue v2.6.0中,新引入了v-slot指令,他取代了slot和sl...

  • vue v-slot 指令

    在 2.6.0 中,vue为具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令)。目前 slo...

  • VUE v-slot 指令

    在 2.6.0 中,vue为具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令)。目前 slo...

  • Vue v-slot插槽的更新使用

    一、前言 v-slot指令自 Vue 2.6.0 起被引入,提供更好的支持 slot 和 slot-scope 特...

  • 【vue学习】slot

    在 2.6.0引入 v-slot指令【缩写为#】 提示:v-slot can only be used on co...

  • vue v-slot 小结

    在vue v2.6.0中,新引入了v-slot指令,他取代了slot和slot-scope这两个目前已经被废弃但是...

  • v-slot 指令

    在 2.6.0 中,vue为具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令)。目前 slo...

  • ant-design-vue 在 vue3中如何使用Dropdo

    注意:在vue 2.6.0 中,具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令)。它取代了...

  • vue插槽-2.6.0前后版本使用对比

    vue 2.6.0 中,为具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令)。它取代了 sl...

  • error 'tag' property on 'router

    主要原因:vue-routerv3.1.x以上版本,新增“v-slot”,推荐使用‘custom v-slot’代...

网友评论

      本文标题:VUE v-slot 指令

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