vue组件全局注册

描述: vue组件的注册分为局部和全局注册两部分,局部注册相对容易,不做赘述;而不同框架的注册方法又有所不同,下面针对vite框架vue-cli框架的注册分别进行说明

vue组件全局注册

    • 一、vite框架中全局组件注册
    • 二、Vue-cli 框架中全局组件注册

一、vite框架中全局组件注册

第一步:创建文件

在src目录下创建components文件夹,并且创建组件文件,和用于引入组件的ts或者js文件
在这里插入图片描述
第二步:编写组件文件

<template><h1>只是一个组件11</h1>
</template>
<script>
export default {
//组件名是必须的,如果是vue3项目使用的是setup语法糖,可以直接在标签上通过name属性定义组件名name: "MyComponent", 
};
</script>

补充:使用setup语法糖给组件命名

  • 安装 vite-plugin-vue-setup-extend插件
  • 注册插件
//vite.config.ts文件
import { defineConfig } from "vite";
import path from "path";
import vue from "@vitejs/plugin-vue";
import VueSetupExtend from "vite-plugin-vue-setup-extend"; //引入插件
export default defineConfig({plugins: [vue(), VueSetupExtend()], //注册插件resolve: {alias: {"@": path.resolve(__dirname, "./src"),}},
});
  • 插件使用
//这里要特别注意,如果script内是空的,是不可以组件命名的,实在没有内容就加一行注释放在里面吧
<script setup name="MyComponent" lang="ts">
//MyComponent
</script>

第三步:引入组件

引入组件的方法又有逐个引入和批量引入,逐个引入就不说了,直接说批量的

// index.ts文件
const comps: any = import.meta.glob("./*/index.vue", { eager: true }); // eager:true 表示全部导入
export default {install: function (app: any) {Object.keys(comps).forEach((key) => {// 注册组件为全局组件const vueComp = comps[key].default;// 注册组件app.component(vueComp.name, vueComp);});},
};

也可以

export default function (app: any) {Object.keys(comps).forEach((key) => {// 注册组件为全局组件const vueComp = comps[key].default;// 注册组件app.component(vueComp.name, vueComp);});
}

第四步:注册组件

//main.ts
import Components from "./components/index"; //导入
app.use(Components); //注册

第五步:组件使用

// 使用模块
<template><h1>首页</h1><MyComponent /> <MyComponent /> <MyComponent /> <MyComponent /><input type="text" v-test="'测试数据'" />
</template>

第六步:效果展示
在这里插入图片描述

二、Vue-cli 框架中全局组件注册

第一步:创建文件

  • 在src目录下创建components文件夹,并且创建组件文件,和用于引入组件的js文件
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/591c622add4c4a6ea7c6f0223533e3dc.png

第二步:编写组件文件

<template><h1>这是组件22</h1>
</template>
<script>
export default {
//这里需要定义一个组件名name: "testComponent",
};
</script>

第三步:引入组件

  • 引入组件的方法又有逐个引入和批量引入,逐个引入就不说了,直接说批量的
// index.js文件
const comps = require.context("../components", true, /\index.vue$/); //参数1:文件路径 ;参数2:是否搜文件夹内部 ;参数3:匹配文件的正则
export default {install: function (Vue) {comps.keys().forEach((key) => {Vue.component(comps(key).default.name, comps(key).default);});},
};

也可以

const comps = require.context("../components", true, /\index.vue$/); //参数1:文件路径 ;参数2:是否搜文件夹内部 ;参数3:匹配文件的正则
export default function (Vue) {comps.keys().forEach((key) => {Vue.component(comps(key).default.name, comps(key).default);});
}

第四步:注册组件

//main.js
import Components from "./components/index"; //导入
app.use(Components); //注册

第五步:组件使用

// 使用模块
<template><div><testComponent /><testComponent /><testComponent /></div>
</template><script>
export default {name: "App",
};
</script>

第六步:效果展示
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/37378.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

-bash: /snap/bin/docker: 没有那个文件或目录

-bash: /snap/bin/docker: 没有那个文件或目录 解决办法 export PATH$PATH:/usr/bin/docker然后&#xff0c;重新加载配置文件 source ~/.bashrc

使用ChatGPT提升Python性能:CUDA编程实战

PythonCUDA:将Python与GPU相结合的高性能计算工具 介绍 Python是一种简单易学的高级编程语言&#xff0c;而NVIDIA CUDA是一种基于GPU的并行计算平台。两者结合&#xff0c;可以实现高性能计算&#xff0c;Python可以做到数据处理方便快捷&#xff0c;而CUDA则以其强大的并行…

线程的等待通知机制

等待通知机制 之前所学到的join是等待线程结束,而此时的等待通知,等待代码给我们提示进行显示的通知(并不一定要结束),可以更加精细控制线程之间的执行顺序,在系统内部,线程是抢占式执行,随机调度,但是程序员也是有手段可以进行干预的,我们可以通过"等待"的方式让线…

【学术日记】关于读博,目标院校,意向导师,毕业要求,重要时间点

文章目录 一、目标院校二、重要时间点西安交通大学意向导师 华南理工大学意向导师 本文记录博主的科研日记。如果对博主的其他文章感兴趣&#xff0c;可以看这篇文章【CSDN文章】晚安66博客文章索引。 首次修改时间&#xff1a;2024年5月12日。当前修改时间&#xff1a;2024年5…

C : 线性规划例题求解

Submit Page TestData Time Limit: 1 Sec Memory Limit: 128 Mb Submitted: 93 Solved: 49 Description 求解下述线性规划模型的最优值min &#xfffd;1&#xfffd;1&#xfffd;2&#xfffd;2&#xfffd;3&#xfffd;3&#xfffd;.&#xfffd;. &…

Python项目开发实战,火车票分析助手,案例教程编程实例课程详解

一、项目背景与意义 火车票作为人们出行的重要交通工具之一,其购票难、查询繁琐等问题一直困扰着广大乘客。为了解决这些问题,我们开发了一款火车票分析助手,利用Python的强大数据处理能力和丰富的库资源,帮助用户更高效地查询和分析火车票信息。本项目旨在提高用户的购票体…

Spring Cloud LoadBalancer基础入门与应用实践

官网地址&#xff1a;https://docs.spring.io/spring-cloud-commons/reference/spring-cloud-commons/loadbalancer.html 【1】概述 Spring Cloud LoadBalancer是由SpringCloud官方提供的一个开源的、简单易用的客户端负载均衡器&#xff0c;它包含在SpringCloud-commons中用…

【Python第三方包】爬虫前言(request包)

文章目录 前言安装发送请求Response对象常用函数总结前言 在Python编程中,我们经常需要从互联网上获取或发送数据。这就涉及到了网络编程,而在网络编程中,我们常常需要使用到HTTP请求。Python的requests库就是一个非常强大的工具,它可以帮助我们轻松地发送HTTP请求。 req…

前端vue使用onlyoffice控件实现word在线编辑、预览(仅列出前端部分需要做的工作,不包含后端部分)

简介 ONLYOFFICE 文档 是一个开源办公套件&#xff0c;包括文本文档、电子表格、演示文稿和可填写表单的编辑器。 它提供以下功能&#xff1a; 创建、编辑和查看文本文档、电子表格、演示文稿和可填写表单&#xff1b; 与其他队友实时协作处理文件。 基于这个控件&#xff0c;…

通过window.scrollTo实现丝滑跳转到页面的某个位置

原理 通过计算对应id的组件距离页面顶部的距离&#xff0c;来使用window.scrollTo丝滑跳转到该位置 代码如下&#xff1a; <div id"test1"></div> <div id"test2"></div> <div id"test3"></div><butt…

PySide(PyQt),event.pos() 和 event.position()的区别

在 PySide6 中&#xff0c;event.pos() 和 event.position() 在处理鼠标事件时有所不同&#xff1a; event.pos(): event.pos() 返回的是鼠标指针相对于接收事件的小部件&#xff08;widget&#xff09;的局部坐标。这意味着它返回的是鼠标在接收事件的窗口或部件内的坐标位置。…

基于Java毕业生生活用品出售网站的设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;…

【算能全国产AI盒子】基于BM1688CV186AH+FPGA智能物联工作站,支持差异化泛AI视觉产品定制

在数据呈现指数级增长的今天&#xff0c;越来越多的领域和细分场景对实时、高效的数据处理和分析的需求日益增长&#xff0c;对智能算力的需求也不断增强。为应对新的市场趋势&#xff0c;凭借自身的硬件研发优势&#xff0c;携手算能相继推出了基于BM1684的边缘计算盒子&#…

Spring Boot中的日志管理最佳实践

Spring Boot中的日志管理最佳实践 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们来探讨一下在Spring Boot应用中如何有效管理日志&#xff0c;确保系统…

C4D快捷键整合所有快捷键

C4D快捷键整合所有快捷键 快捷键常用快捷键主菜单建模材质管理器物体管理器图片浏览器结构管理器浏览器编辑器动画模块属性管理器Body Paint 3D时间线视窗Mocca 小技巧 快捷键 常用快捷键 作用快捷键备注裁切时间线ALT【 】最大化显示所限物体0最大化显示场景所有物体H物体属…

解读防水防腐保温二级资质:为何社保需缴纳X月以上?

解读防水防腐保温二级资质中关于社保需缴纳X月以上的要求&#xff0c;可以从以下几个方面进行&#xff1a; 一、社保缴纳的重要性 稳定雇佣关系的体现&#xff1a;社保缴纳是企业与员工之间稳定雇佣关系的直接体现&#xff0c;它展示了企业对员工的长期承诺和责任感。员工权益…

esp32使用TFT_eSPI库,系统双闪,指针溢出的问题

问题描述 使用TFT_eSPI烧录进esp32c3之后&#xff0c;开发板灯双闪&#xff0c;串口输出指针越界的错误。 问题原因 不小心点到了更新&#xff0c;把esp32的库给更新了。 问题解决 把esp32的库改到2.0.9版本。

Spring Boot与Redis集成的最佳实践

Spring Boot与Redis集成的最佳实践 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将探讨如何在Spring Boot应用中实现与Redis的集成&#xff0c;以及一…

c++ std::forward 笔记

请您查看如下代码块&#xff0c;这样方便复制过去直接运行 int x 5; q_forward w1(x); // 使用左值构造 q_forward w2(10); // 使用右值构造 w2.wrapper_func(); /*** std::forward<>() 向前的&#xff0c;前进的&#xff1b;* 通常与模板和右值引用&#xff08;r…

MySQL3(多表联查 子查询 流程控制函数,语句 Sql 执行顺序 学生选课表练习)

目录 一、多表联查 1. 等值查询和非等值查询 等值查询 --- 主外键相等 ​编辑非等值查询 2. 连接查询 ​编辑 内连接 ​编辑 左外连接 ​编辑 右外连接 3. UNION 二、子查询 1. where 型子查询&#xff1a; 2. from型子查询: 3. exists型子查询: 4. any, some…