iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue如何批量引入组件、注册和使用详解
  • 406
分享到

vue如何批量引入组件、注册和使用详解

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

前言 组件是我们非常常用的东西,很多人使用组件都是通过一个一个文件去引用和注册。这篇文章就来介绍下Vue批量引入组件、注册和使用的方法。 一、使用场景 在日常开发中,经常会有这样一

前言

组件是我们非常常用的东西,很多人使用组件都是通过一个一个文件去引用和注册。这篇文章就来介绍下Vue批量引入组件、注册和使用的方法。

一、使用场景

在日常开发中,经常会有这样一种情况:


	import A from 'components/A'
	import B from 'components/B'
	import C from 'components/C'
	import D from 'components/D'

遇到这种重复的代码,就在想,是否可以进行以下优化,一次性全部引入。于是就找到了webpackapi,通过调用require.context来进行处理,具体代码如下:

二、使用步骤

涉及到:

  • 组件名称为带中横线规范,最后要转为驼峰命名法的功能;
  • component的is属性;

具体详解都在代码中:

1.文件目录

2.HTML代码


<template>
  <div class="water-analysis">
    <div class="content-box" ref="contentbox">
      <a-tabs :default-active-key="activeComponent" @change="tabChangeHandle">
        <a-tab-pane
          v-for="item in tabList"
          :key="item.key"
          :tab="item.tab"
        ></a-tab-pane>
      </a-tabs>
      <div class="tab-pane-box">
      	<!-- 通过is属性,绑定对应的组件名称,展示对应的组件 -->
        <component :is="activeComponent"></component>
      </div>
    </div>
  </div>
</template>

3.js代码

语法:require.context(directory, useSubdirectories, regExp)

  • directory: 要查找的文件路径
  • useSubdirectories: 是否查找子目录
  • regExp: 要匹配文件的正则

返回值:两个方法一个属性

  • keys(): 返回匹配成功模块的名字组成的数组
  • resolve(): 接受一个参数request,request为test文件夹下面匹配文件的相对路径,返回这个匹配文件相对于整个工程的相对路径
  • id:执行环境的id,返回的是一个字符串,主要用在module.hot.accept,应该是热加载

<script>
// 中横线转驼峰
var camelCase = function (s) {
  return s.replace(/-\w/g, function (x) {
    return x.slice(1).toUpperCase();
  });
};
// 批量引入子组件  重点,语法见上
const allComponents = require.context("./comp", false, /\.vue$/);

console.log(allComponents.keys())
// ["./tem-a.vue", "./tem-b.vue", "./tem-c.vue", "./tem-d.vue"]

console.log(allComponents.id)
//./src/views/tempManage/comp sync \.vue$

//制作组件数组,在下方components中注册使用
let resComponents = {};
allComponents.keys().forEach(comName => {
  let name = camelCase(comName);
  const comp = allComponents(comName);
  resComponents[name.replace(/^\.\/(.*)\.\w+$/, "$1")] = comp.default;
});

export default {
  name: "WaterQuery",
  components: resComponents,
  data() {
    return {
      activeComponent: "temA",
      tabList: [
        {
          key: "temA",
          tab: "A组件",
        },
        {
          key: "temB",
          tab: "B组件",
        },
        {
          key: "temC",
          tab: "C组件",
        },
        {
          key: "temD",
          tab: "D组件",
        },
      ],
    };
  },
  created() {
    if (this.$route.query["val"]) {
      this.activeComponent = this.$route.query["val"];
    }
  },
  methods: {
    // 切换tab栏
    tabChangeHandle(val) {
      const {path} = this.$router;

      this.$router.push({
        path,
        query: {val},
      });
      this.activeComponent = val;
    },
  },
};
</script>

4.css代码(可不看,写出来只是为了代码完整性,拿来可以直接运行展示)


<style scoped>
.water-analysis {
  height: 100%;
  overflow: auto;
}
.content-box {
  height: 100%;
}
.tab-pane-box {
  height: calc(100% - 62px);
}
</style>

三、总结

到此这篇关于vue如何批量引入组件、注册和使用的文章就介绍到这了,更多相关vue批量引入组件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: vue如何批量引入组件、注册和使用详解

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue如何批量引入组件、注册和使用详解
    前言 组件是我们非常常用的东西,很多人使用组件都是通过一个一个文件去引用和注册。这篇文章就来介绍下vue批量引入组件、注册和使用的方法。 一、使用场景 在日常开发中,经常会有这样一...
    99+
    2024-04-02
  • vue组件component的注册与使用详解
    目录1.什么是Vue组件(1)定义(2)父子关系2.Vue组件使用(注册方式)1.局部注册(私有组件注册)2.全局注册3.使用组件的步骤:1.什么是Vue组件 (1)定义 组件是Vu...
    99+
    2022-11-13
    vue组件component vue组件注册使用
  • 如何使用批处理文件实现批量注册dll
    这篇文章主要为大家展示了“如何使用批处理文件实现批量注册dll”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用批处理文件实现批量注册dll”这篇文章吧。但是对于新手来说即使知道是DLL文件...
    99+
    2023-06-08
  • 如何使用use注册Vue全局组件和全局指令
    这篇文章主要介绍如何使用use注册Vue全局组件和全局指令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Vue中的组件和指令分为局部组件、局部指令和全局组件、全局指令。对于注册有一定...
    99+
    2024-04-02
  • Spring注解@Configuration与@Bean注册组件如何使用
    今天小编给大家分享一下Spring注解@Configuration与@Bean注册组件如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2023-07-02
  • Spring注解@Configuration与@Bean注册组件的使用详解
    目录原始Spring开发Person.javapom.xmlbean.xmlPersonTest.java注解Spring开发原始Spring开发 Person.java 准备Per...
    99+
    2024-04-02
  • Vue组件如何自动按需引入详析
    目录全局注册局部注册局部自动注册不同方案对比关于组件名参考总结在Vue中我们可以通过全局组件、局部注册的方式来使用组件 全局注册 通过app.component来创建全局组件 i...
    99+
    2024-04-02
  • vue如何使用AIlabel标注组件
    目录1.下载组件2.下载完成后vue页面标签页面代码3.js 代码4.个人思路进行一些针对性的操作本人也是第一次使用这个组件,因为项目需要使用标注图片功能,我就在网上看到了这个组件。...
    99+
    2024-04-02
  • 如何使用批处理实现注册表危险组件删除功能
    这篇文章主要介绍如何使用批处理实现注册表危险组件删除功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!把这个存成bat文件运行,保你服务器最基本的安全! 代码如下::: 注册表相关设定 reg delete HKEY...
    99+
    2023-06-08
  • 如何解决MySQL批量插入和唯一索引问题
    这篇文章主要介绍了如何解决MySQL批量插入和唯一索引问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。MySQL批量插入问题在开发项目时,...
    99+
    2024-04-02
  • Vue privide 和inject 依赖注入的使用详解
    目录前言示例项目案例子组件前言 关于Vue组件的通讯方式如下: 父子组件:通过prop,$ emit,【$ root,$ parent,$ children】;非父子组件:vuex,...
    99+
    2022-11-13
    Vue privide 和inject vue 依赖注入
  • vue车牌输入组件使用方法详解
    一个简单的车牌输入组件(vue),供大家参考,具体内容如下 效果图: vue代码: <template> <div class="enTer">...
    99+
    2024-04-02
  • Vue中如何使用全局组件和局部组件
    Vue中如何使用全局组件和局部组件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。组件 (Component) 是 Vue.js...
    99+
    2024-04-02
  • 如何使用注册表和批处理开通局域网共享
    这篇文章主要介绍如何使用注册表和批处理开通局域网共享,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!开通局域网共享(访问本机要填用户名和密码).cmd代码如下:@ ECHO OFF @ E...
    99+
    2023-06-09
  • vue中keepAlive组件的作用和使用方法详解
    前言 在面试的时候,很多面试官再问vue的时候可能就会提一嘴,你知道keep-alive有什么作用吗? keep-alive是vue内置的一个组件,而这个组件的作用就是能够缓存不活动...
    99+
    2024-04-02
  • 怎么深入了解Vue组件的创建和使用
    今天就跟大家聊聊有关怎么深入了解Vue组件的创建和使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、什么是组件?组件 (Component) 是 Vue.js 最强大的功能之一。...
    99+
    2023-06-22
  • 如何理解Angular中的组件通讯和依赖注入
    这篇文章给大家介绍如何理解Angular中的组件通讯和依赖注入,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 Angular组件间怎么进行通讯?依赖注入是什...
    99+
    2024-04-02
  • 一文详解如何使用Python批量拼接图片
    目录前言〇、准备工作,PIL库安装使用pip安装一、简单程序实现二、更复杂情况总结前言 当需要将多张图像拼接成一张更大的图像时,通常会用到图片拼接技术。这种技术在许多领域中都有广泛的...
    99+
    2023-05-19
    python多图拼接 python拼接图片 python图片拼图
  • Vue组件中如何使用防抖和节流
    这期内容当中小编将会给大家带来有关Vue组件中如何使用防抖和节流,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Vue组件中如何使用防抖和节流?下面通过示例带大家了解一下Vue组件中使用防抖和节流控制观察者...
    99+
    2023-06-21
  • 使用 Windows PowerToys 浏览和编辑注册表文件的方法详解
    Windows 11 自 2021 年首次发布以来,一直是新用户的绝佳操作系统。但是,自发布以来,高级用户发现执行在以前的Windows迭代中更容易的任务相当困难。这就是为什么许多此类用户选择安装有助于克服此警告的第三方应用程序的原因。Mi...
    99+
    2023-08-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作