返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue作用域插槽详解、slot、v-slot、slot-scope
  • 899
分享到

vue作用域插槽详解、slot、v-slot、slot-scope

2024-04-02 19:04:59 899人浏览 八月长安
摘要

目录Vue 插槽slot和具名插槽作用域插槽的核心作用是 实例说明子组件父组件效果图vue 插槽slot和具名插槽 作用都是在调用组件的时候传递一些DOM结构进去, 不同点

vue 插槽slot和具名插槽

作用都是在调用组件的时候传递一些DOM结构进去,

不同点是:具名插槽在传递DOM时需要声明,传递给哪个slot的名字 name

他们用法简单不在赘述。

重点说一下作用域插槽 slot-scope 的使用,以及vue2.6.X开始的新语法v-slot

作用域插槽的核心作用是 

子组件给父组件传递数据,当然也包含上述插槽的能力

老版作用域插槽,

  • slot="test": 指定插槽的名字用
  • prop:可以随便定义,表示子组件传递过来的值得对象,可以用解构复制 { row, index }接受
<template slot="test" slot-scope="prop">
   {{ prop.wife.a }}
 </template>

新版是这样的,可以说语法更加清晰

v-slot指令直接跟上插槽名称,prop同上

 <template v-slot:test="prop">
          {{ prop.wife.b }}
        </template>

实例说明

子组件

这里我定义了多个具名插槽,并且用父组件传过来的数据尝试传递回去

<template>
  <div>
    <slot :user="user">
      <!-- 默认显示的值,当父组件使用次作用域插槽时,会被覆盖 -->
      {{ user.age }} 
    </slot>
    <slot name="test" :wife='wife'>
      {{wife.a}}
    </slot>
    <slot name="hasProps" :baseData='baseData'>
      {{baseData.a_count}}
    </slot>
  </div>
</template>

<script>
export default {
  props: {
    baseData: {
      type: Object,
      default: () => {
        return {
          a_count: 0,
          b_count: 0,
          c_count: 0,
          d_count: 0,
          e_count: 0,
          order_amount: 0,
          order_num: 0,
          resource_num: 0
        }
      }
    }
  },
  data () {
    return {
      user: {
        name: '张三',
        age: 20
      },
      wife: {
        a: '小李',
        b: '小韩'
      }
    }
  }
}
</script>

父组件

部分代码:

其中的baseData,为服务端异步返回数据

  <div>
      <child>
        <template v-slot:default="prop">
          {{ prop.user.age }}
        </template>
        <template v-slot:test="prop">
          {{ prop.wife.b }}
        </template>
      </child>
      
      <child>
        <template slot-scope="prop">
          {{ prop.user.name }}
        </template>
        <template slot="test" slot-scope="prop">
          {{ prop.wife.a }}
        </template>
      </child>
      <!-- 尝试解构赋值 -->
      <child :baseData='baseData'>
        <template v-slot:hasProps="{baseData}">
          {{ baseData.a_count }}
        </template>
      </child>
    </div>

效果图

这两种是先注释掉所有child里面,所有代码的效果,前为接口返回前

在这里插入图片描述

在这里插入图片描述

这两张是不注释,前后图

在这里插入图片描述

在这里插入图片描述

可以看出,

在vue2.6以上两种模式都支持,不过官方说3.0就只支持v-slot指令了,

不使用作用域插槽就会显示默认的值,使用之后就按父组件的来

可以先动态更新数据。

使用过element-ui的同学,只要用过表格,我想现在应该明白作用域插槽有多大的用处了吧

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。 

--结束END--

本文标题: vue作用域插槽详解、slot、v-slot、slot-scope

本文链接: https://lsjlt.com/news/144412.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue作用域插槽详解、slot、v-slot、slot-scope
    目录vue 插槽slot和具名插槽作用域插槽的核心作用是 实例说明子组件父组件效果图vue 插槽slot和具名插槽 作用都是在调用组件的时候传递一些DOM结构进去, 不同点...
    99+
    2024-04-02
  • 详解Vue slot插槽
    1.作用:让父组件可以向子组件指定位置插入html结构,也是一种组件间通信的方式,适用于父组件===>子组件(传的是HTML格式)。 父组件App: 子组件Category:...
    99+
    2024-04-02
  • Vue.js slot插槽的作用域插槽用法详解
    目录没有插槽的情况Vue2.x 插槽有插槽的情况具名插槽没有slot属性插槽简单实例应用作用域插槽 ( 2.1.0 新增 )Vue3.x 插槽插槽作用域插槽没有插槽的情况 <...
    99+
    2024-04-02
  • vue插槽slot怎么用
    这篇文章给大家分享的是有关vue插槽slot怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言Vue的slot插槽,可以从字面意思来了解用途,占用占坑的意思,既然是占坑肯定...
    99+
    2024-04-02
  • Vue中slot插槽作用与原理详解
    目录1、作用2、插槽内心2.1、默认插槽2.2、具名插槽(命名插槽)2.3、作用域插槽实现原理1、作用 父组件向子组件传递内容扩展、复用、定制组件 2、插槽内心 2.1、默认插槽 把...
    99+
    2024-04-02
  • Vue slot插槽的使用详情
    目录1、为什么使用slot 1.1 slot(插槽)1.2 组件中的插槽1.3 例子2、如何封装这类组件(slot)3、 插槽的案例4、插槽默认值5、具名插槽6、编译作用域7、作用域...
    99+
    2024-04-02
  • Vue插槽slot怎么使用
    这篇文章主要讲解了“Vue插槽slot怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue插槽slot怎么使用”吧! 一、插槽的含义 插槽 sl...
    99+
    2024-04-02
  • 如何使用Vue slot插槽
    这篇文章主要介绍“如何使用Vue slot插槽”,在日常操作中,相信很多人在如何使用Vue slot插槽问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Vue slot插槽”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-25
  • JavaScript--在Vue中使用插槽:slot
    目录在Vue中使用插槽:slot作用域插槽:使用template标签包裹总结在Vue中使用插槽:slot 1、在子组件的template里可以直接使用slot标签<slot&g...
    99+
    2024-04-02
  • Vue中插槽slot有什么用
    这篇文章主要为大家展示了“Vue中插槽slot有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue中插槽slot有什么用”这篇文章吧。什么是插槽?我们知道在Vue中 Child 组件的标...
    99+
    2023-06-15
  • Vue中slot插槽有什么用
    小编给大家分享一下Vue中slot插槽有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.作用:让父组件可以向子组件指定位置插入html结构,也是一种组件间...
    99+
    2023-06-25
  • vue中使用slot与slot-scope有什么区别
    本文小编为大家详细介绍“vue中使用slot与slot-scope有什么区别”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue中使用slot与slot-scope有什么区别”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习...
    99+
    2023-07-04
  • Vue中插槽Slot基本使用与具名插槽详解
    目录一、插槽Slot1.1.插槽Slot的作用1.2.具名插槽SlotPs:作用域插槽总结一、插槽Slot 1.1.插槽Slot的作用 ⭐⭐初识插槽: 为了让这个组件具备更强的通用性...
    99+
    2022-11-13
    vue具名插槽用法 vue获取插槽 vue插槽用法
  • 浅析Vue中插槽Slot的作用和具名插槽
    一、插槽Slot1.1.插槽Slot的作用⭐⭐ 初识插槽:为了让这个组件具备更强的通用性,我们不能将组件中的内容限制为固定的div、span等等这些元素;【相关推荐:vuejs视频教程】比如某种情况下我们使用组件,希望组件显示的是一个按钮,...
    99+
    2022-11-22
    Vue vue3 vue.js 插槽
  • Vue深入理解插槽slot的使用
    目录一、插槽(slot)是什么二、使用场景三、slot的分类默认插槽具名插槽作用域插槽四、介绍对slot的理解一、插槽(slot)是什么 slot是组件内的一个占位符,该占位符可以在...
    99+
    2022-11-13
    Vue slot Vue slot用法 Vue slot原理
  • vue template中slot-scope/scope怎么用
    这篇文章主要为大家展示了“vue template中slot-scope/scope怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue template...
    99+
    2024-04-02
  • vue架构插槽slot如何使用
    这篇文章主要介绍了vue架构插槽slot如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue架构插槽slot如何使用文章都会有所收获,下面我们一起来看看吧。1、直接使用新建组件 Article<t...
    99+
    2023-06-29
  • Vue中的插槽slot如何使用
    本篇内容主要讲解“Vue中的插槽slot如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue中的插槽slot如何使用”吧!1.什么是插槽插槽(slot)是 vue 为组件的封装者提供的能...
    99+
    2023-07-05
  • Vue3插槽Slot实现原理详解
    目录Vue官方对插槽的定义Slot到底是什么如何使用插槽回顾组件渲染的原理插槽的初始化原理解析插槽中的内容作用域插槽原理具名插槽原理默认内容插槽的原理Vue官方对插槽的定义 Vue ...
    99+
    2024-04-02
  • 关于VUE的编译作用域及slot作用域插槽问题
    什么是插槽?插槽的指令为v-slot,它目前取代了slot和slot-scope,插槽内容,vue实例一套内容分发的api,将slot元素作为承载分发内容的出口。 插槽分为单个插槽,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作