vue引入组件的几种方法汇总

 更新时间:2023年10月10日 10:55:00   作者:郑建007  
这篇文章主要介绍了vue引入组件的几种方法汇总,包括常用的局部引入,这里需要注意在哪个页面需要就在那个页面引入、注册、使用,本文结合示例代码给大家介绍的非常详细,需要的朋友参考下吧

一、常用的局部引入

<template>
    <div>
        <!--3.使用组件-->
        <Button></Button>
    </div>
</template>
<script>
 // 1. 引入组件
import Button from '../view/button.vue'
export default {
    // 2. 注册组件
    components: {
        Button,
    }
}
</script>

总结: 在哪个页面需要就在那个页面引入、注册、使用

二、创建一个js 进行统一注册   然后在main.js引入统一管理的js文件实现全局注册

1、global.js统一注册管理:

// 1.引入vue
import Vue from 'vue'
import  Child1 from './child1'
import  Child2 from './child1'
import  Child3 from './child1'
import  Child4 from './child1'
import  Child5 from './child1'
Vue.component(Child1)
Vue.component(Child2)
Vue.component(Child3)
Vue.component(Child4)
Vue.component(Child5)

2、在main.js中引入 global.js实现全局注册

优点: 减少每个页面引入的繁琐步骤 、减少了每一页面重复引入的代码,

缺点: 有90%的代码都是重复的

三、自动注册全局引入

注释版:

// 引入vue
import Vue from 'vue'
// 将字符串首字母大写  返回当前字符串
function changeStr(str) {
    return str.charAt(0).toUpperCase() + str.slice(1)
}
// require.context: 是动态引入文件
// 参数一: 当前路径(引入.vue文件的当前路径)
// 参数二:是否匹配当前文件下的子文件
// 参数三:查找文件格式以.vue结尾的文件
const requireComponent = require.context('./', false, /\.vue$/)
console.log("批量注册组件", requireComponent.keys())  // ['./head-l.vue', './head-r.vue', './head.vue']
requireComponent.keys().forEach(fileName => {
	// 当前组件
    const config = requireComponent(fileName)
	console.log("组件的信息config", config)
	//获取组件名
	const componentName = changeStr(fileName.replace(/^\.\//, '').replace(/\.\w+$/))  // 第一个replace(/^\.\//, '')去掉前面的./   第二个replace(/\.W+$/)是去掉后面的.vue
	console.log("组件名", componentName)  // 例如:Head-rundefined
	// 参数一: 组件名
	// 参数二: config:是一整个组件的内容;  config.default:是组件中export.default里面的内容  
	Vue.component(componentName, config.default || config)
})

 纯净版:

import Vue from 'vue'
function changeStr(str) {
    return str.charAt(0).toUpperCase() + str.slice(1)
}
const requireComponent = require.context('./', false, /\.vue$/)
requireComponent.keys().forEach(fileName => {
    const config = requireComponent(fileName)
	const componentName = changeStr(fileName.replace(/^\.\//, '').replace(/\.\w+$/))  
	Vue.component(componentName, config.default || config)
})

 结构: 

到此这篇关于vue引入组件的几种方法的文章就介绍到这了,更多相关vue引入组件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue实现滑块拖拽校验功能的全过程

    vue实现滑块拖拽校验功能的全过程

    vue验证滑块功能,在生活中很多地方都可以见到,使用起来非常方便,这篇文章主要给大家介绍了关于vue实现滑块拖拽校验功能的相关资料,需要的朋友可以参考下
    2021-08-08
  • Vue Element校验validate的实例

    Vue Element校验validate的实例

    这篇文章主要介绍了Vue Element校验validate的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • vue3中超好用的插件整理

    vue3中超好用的插件整理

    最近找到几个好用的插件,这里分享一下,下面这篇文章主要给大家介绍了关于vue3中超好用的插件整理,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • 详解如何添加babel polyfill

    详解如何添加babel polyfill

    这篇文章主要介绍了详解vue如何添加babel polyfill实现方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • vue-photo-preview图片预览失效的问题及解决

    vue-photo-preview图片预览失效的问题及解决

    这篇文章主要介绍了vue-photo-preview图片预览失效的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Vue 3.0自定义指令的使用入门

    Vue 3.0自定义指令的使用入门

    在 Vue 的项目中,我们经常会遇到 v-if、v-show、v-for 或 v-model 这些内置指令,它们为我们提供了不同的功能。除了使用这些内置指令之外,Vue 也允许注册自定义指令。接下来,将使用Vue 3官方文档自定义指令章节中使用的示例,来一步步揭开自定义指令背后的秘密。
    2021-05-05
  • vue2前端导出pdf文件实例demo

    vue2前端导出pdf文件实例demo

    在Vue应用中,将页面导出为PDF文件通常涉及到前端技术的组合,下面这篇文章主要给大家介绍了关于vue2前端导出pdf文件的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-09-09
  • Element使用el-table组件二次封装

    Element使用el-table组件二次封装

    这篇文章主要为大家介绍了Element使用el-table组件二次封装示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Vue中引入bootstrap.min.css的正确姿势分享

    Vue中引入bootstrap.min.css的正确姿势分享

    这篇文章主要介绍了Vue中引入bootstrap.min.css的正确姿势,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • Vue2老项目配置ESLint和Prettier完整步骤

    Vue2老项目配置ESLint和Prettier完整步骤

    ESLint是一个静态代码分析工具,用于检查JavaScript代码的语法结构和查找程序错误,Prettier是一个代码格式化工具,这篇文章主要给大家介绍了关于Vue2老项目配置ESLint和Prettier的完整步骤,需要的朋友可以参考下
    2024-08-08

最新评论