vue如何使用vue slot封装公共组件

 更新时间:2022年05月27日 14:42:12   作者:还需学习学习  
这篇文章主要介绍了vue如何使用vue slot封装公共组件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

使用vue slot封装公共组件

公用子组件:publicSlot

      <div>
        <div class="top">
        <h1 class="title">{{title}}</h1>
            <slot name="headerRight"> 可以根据你slot name属性选择插槽的位置</slot>
        </div>
        <slot> 这里相当于留个位置,接收父组件传入的内容</slot>
      </div>
export default {
    props: {
    title: {
      type: String
    }
  },
  }

父组件:

     <!-- 方式审核 -->
      <publicSlot :title="title">
        <div class="main_box">
            //这里可以写父组件自定义页面的内容
          <el-form :model="formDatas" label-width="120px">
            <el-row>
              <el-col :span="11">
                <el-form-item label="选择区域:">
                  <el-select v-model="formDatas.region">
                    <el-option label="区域一" value="shanghai"></el-option>
                    <el-option label="区域二" value="beijing"></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="24">
                <el-form-item label="输入框:">
                  <el-input
                    type="textarea" 
                    v-model="textarea"
                  >
                  </el-input>
                </el-form-item>
              </el-col>
              
            </el-row>
          </el-form>
        </div>
       //这里是插入了一个按钮
       <div slot="headerRight">
        <el-button   type="text">操作按钮</el-button>
      </div> 
      </publicSlot>
import publicSlot from '../public/components/publicSlot.vue'
export default {
    publicSlot
}

vue slot:

vue 插槽:

Vue 实现了一套内容分发的 API,这套 API 的设计灵感源自 Web Components 规范草案,将 元素作为承载分发内容的出口。

  • 具名插槽
  • 作用域插槽
  • 动态插槽

使用slot插槽封装

1.封装头部组件

<template>
  <div class="head_container">
    <slot name="left"></slot>
    <div>
      <span>{{ title }}</span>
    </div>
    <slot name="right"></slot>
  </div>
</template>
export default {
  name: "homeTop",
  //定义props的title属性
  props: {
    title: String,
  },
}

2.在main.js中全局导出组件

import HeadTop from './views/HeadTop.vue'
Vue.component('HeadTop', HeadTop)

3.当你要使用组件的时候 如果只要中间的title ,那么solt插槽就不要使用

<HeadTop title="我的"></HeadTop>

4.如果左右两边都需要加东西,那么就使用插槽,因为在之前定义了插槽的名字,所以调用的时候需要指定插槽的name,判断你是加在哪里

    <HeadTop :title="address.name">
      <div class="icon" slot="left">
        <i class="el-icon-search"></i>
      </div>
      <div class="login" slot="right" @click="goToLogin">
        <span>登录</span>/
        <span>注册</span>
      </div>
    </HeadTop>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue3项目+element-plus:时间选择器格式化方式

    vue3项目+element-plus:时间选择器格式化方式

    这篇文章主要介绍了vue3项目+element-plus:时间选择器格式化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Vue.js中computed的基本使用方法

    Vue.js中computed的基本使用方法

    Vue.js中,computed属性根据依赖进行缓存,只有依赖改变时才重新计算,这样有效提高性能,computed属性是响应式的,可以自动更新,并且默认是只读的,它与methods的主要区别在于计算属性具有缓存性,而方法每次调用都会执行,使用computed可以使模板更加简洁,提高应用性能
    2024-09-09
  • vue 封装导出Excel数据的公共函数的方法

    vue 封装导出Excel数据的公共函数的方法

    本文主要介绍了vue 封装导出Excel数据的公共函数,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Vue中引入样式文件的方法

    Vue中引入样式文件的方法

    这篇文章主要介绍了Vue中引入样式文件的方法,需要的朋友可以参考下
    2017-08-08
  • vue实现el-menu和el-tab联动的示例代码

    vue实现el-menu和el-tab联动的示例代码

    本文主要介绍了vue实现el-menu和el-tab联动的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Vue实现鼠标经过文字显示悬浮框效果的示例代码

    Vue实现鼠标经过文字显示悬浮框效果的示例代码

    这篇文章主要介绍了Vue实现鼠标经过文字显示悬浮框效果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Vue中实现权限管理详解

    Vue中实现权限管理详解

    这篇文章主要介绍了Vue中实现权限管理详解,权限是对特定资源的访问许可,所谓权限控制,也就是确保用户只能访问到被分配的资源,而前端权限归根结底是请求的发起权,请求的发起可能有下面两种形式触发,需要的朋友可以参考下
    2023-08-08
  • vue.js调用python脚本并给脚本传数据

    vue.js调用python脚本并给脚本传数据

    在有些情况下需要使用不同的语言来完成一个项目,因此就有可能出现不同语言的程序之间的相互调用,下面这篇文章主要给大家介绍了关于vue.js调用python脚本并给脚本传数据的相关资料,需要的朋友可以参考下
    2024-03-03
  • Vue系列:通过vue-router如何传递参数示例

    Vue系列:通过vue-router如何传递参数示例

    本篇文章主要介绍了Vue系列:通过vue-router如何传递参数示例,具有一定的参考价值,有兴趣的可以了解一下。
    2017-01-01
  • 基于cropper.js封装vue实现在线图片裁剪组件功能

    基于cropper.js封装vue实现在线图片裁剪组件功能

    这篇文章主要介绍了基于cropper.js封装vue实现在线图片裁剪组件功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-03-03

最新评论