vue组件全局注册

news2024/7/2 3:29:02

描述: 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.coloradmin.cn/o/1877607.html

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

相关文章

AI复活亲人市场分析:技术、成本与伦理挑战

“起死回生”这种事&#xff0c;过去只存在于科幻电影里&#xff0c;但今年&#xff0c;被“复活”的案例却越来越多。 2月底&#xff0c;知名音乐人包晓柏利用AI“复活”了她的女儿&#xff0c;让她在妈妈生日时唱了一首生日歌&#xff1b;3月初&#xff0c;商汤科技的年会上…

ComfyUI汉化插件安装

步骤一&#xff1a;点击Manager 步骤二&#xff1a;选择安装插件 步骤三&#xff1a;搜索Translation&#xff0c;选择第一个点击右边得安装 步骤四&#xff1a;点击下放得RESTART进行重启 步骤五&#xff1a;等待重启完成后&#xff0c;点击设置 步骤六&#xff1a;选择中文语…

day02-Spark集群及参数

一、Spark运行环境变量问题(了解) 1-pycharm远程开发运行时&#xff0c;执行的是服务器的代码 2-通过本地传递指令到远程服务器运行代码时&#xff0c;会加载对应环境变量数据&#xff0c;加载环境变量文件是用户目录下的.bashrc文件 在/etc/bashrc 1-1 在代码中添加 使用os模块…

[方法] Unity 3D模型与骨骼动画

1. 在软件中导出3D模型 1.1 3dsmax 2014 1.1.1 TGA转PNG 3dsmax的贴图格式为tga&#xff0c;我们需要在在线格式转换中将其转换为Unity可识别的png格式。 1.1.2 模型导出 导出文件格式为fbx。在导出设置中&#xff0c;要勾选三角算法&#xff0c;取消勾选摄像机和灯光&#…

海康车牌识别 报警回调后程序崩溃

我用的32位 6.1.9版本SDK 回调会导致程序崩溃 咨询了下海康官方技术 答复如下&#xff1a;&#xff08;此答复我没尝试 自行尝试 我的解决方法是更换了老版本 5.3版本 没什么问题 个人资源中有 自行下载

grpc学习golang版( 四、多服务示例 )

系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 第五章 多proto文件示例 第六章 服务器流式传输 第七章 客户端流式传输 第八章 双向流示例 文章目录 一、前言二、定义proto文件三、编写server服务端四、编写Client客…

【漏洞复现】安美数字酒店宽带运营系统——命令执行漏洞(CNVD-2021-37784)

声明&#xff1a;本文档或演示材料仅供教育和教学目的使用&#xff0c;任何个人或组织使用本文档中的信息进行非法活动&#xff0c;均与本文档的作者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 安美数字酒店宽带运营系统 server_ping.php 存在远程命令执行漏洞&#…

3.3V到5V的负电源产生电路(电荷泵电压反相器)SGM3204输出电流0.2A封装SOT23-6

前言 SGM3204 非稳压 200mA 电荷泵负电源产生电路&#xff0c;LCEDA原理图请访问资源 SGM3204电荷泵负电源产生电路 SGM3204电荷泵负电源产生电路 一般描述 SGM3204从 1.4V 至 5.5V 的输入电压范围产生非稳压负输出电压。 该器件通常由 5V 或 3.3V 的预稳压电源轨供电。由于…

OpenGL3.3_C++_Windows(19)

Demo演示 1 几何着色器 几何Geometry glsl 发生在什么阶段&#xff1f; 图形渲染管线&#xff1a; 顶点数据——顶点着色器阶段——图元装配;&#xff08;Geometry glsl &#xff09;——光栅化阶段——裁切——片段着色器——测试和混合可选的Geometry几何着色器&#xff08;…

龙芯久久派到手开机测试

今天刚拿到龙芯久久派&#xff0c;没看到文档&#xff0c;只有视频&#xff0c;我来写个博客&#xff0c;做个记录&#xff0c;免得以后忘记 1.连接usb转ttl串口与龙芯久久派&#xff0c;如图所示。 2.将usb转串口接到电脑USB口 也就是这个接电脑上 3.打开串口调试助手或Secu…

前端路由管理

前端路由管理简介&#xff1a; 当谈到前端路由管理时&#xff0c;通常指的是在单页面应用程序&#xff08;SPA&#xff09;中管理页面间导航和URL的过程。路由管理器是一个工具&#xff0c;可以帮助前端开发者定义应用程序的不同视图之间的关系&#xff0c;同时能够响应URL的改…

广东省钟表行业协会第十二届会员大会暨2024年钟表行业发展交流会

6月25日广东省钟表行业协会第十二届会员大会暨2024年钟表行业发展交流会在广州万富希尔顿酒店隆重召开。大会选举沙胜昔为广东省钟表行业协会第十二届理事会会长。 领导发言 新任会长 沙胜昔 首席荣誉会长 吴伟阳 新老会长交接仪式 本次大会&#xff0c;全国钟表大伽齐参与…

美业门店管理系统中收款门店对应的加盟商如何查看?美业系统源码、演示视频分享私

专业的美业系统更加贴合美业门店的经营需求&#xff0c;提供了更全面、便捷、高效的管理功能&#xff0c;有助于提升门店的服务质量和经营效益。博弈美业系统包括PC、iPad、手机、小程序四大端口&#xff0c;满足不同人群的各种需求。 ▶ 收款门店对应的加盟商如何查看&#xf…

找不到d3dcompiler_43.dll无法继续执行的修复指南

在电脑使用过程中&#xff0c;我们可能会遇到一些错误提示&#xff0c;其中之一就是“缺失d3dcompiler43.dll”。那么&#xff0c;这个错误提示到底是怎么回事呢&#xff1f;小编将从常见原因、对电脑的影响以及解决方法等方面进行详细解析。 一&#xff0c;了解d3dcompiler_43…

【高性能服务器】单进程服务器

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 ​ 单进程服务器 …

OLMo:真正完全开源的大模型

最近&#xff0c;又有一家机构AI2&#xff08;Allen Institute for AI&#xff09;开源了一个LLM&#xff1a;OLMo&#xff0c;它的英文全称就叫Open Language Model。相比之前开源的大模型&#xff0c;OLMo的独特之处是完全开源&#xff0c;除了训练的模型&#xff0c;OLMo还开…

2-requests模块(6节课学会爬虫)

2-requests模块&#xff08;6节课学会爬虫&#xff09; 1&#xff0c;安装requests2&#xff0c;发送get&#xff0c;post请求&#xff0c;获取响应3&#xff0c;response的方法方法一&#xff08;Response.text&#xff09;方法二&#xff08;response.content.decode()&#…

综合评价 | 基于组合博弈赋权的物流系统综合评价(Matlab)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 综合评价 | 基于组合博弈赋权的物流系统综合评价&#xff08;Matlab&#xff09; 组合博弈赋权&#xff08;Weighted Sum&#xff09;是一种常见的多目标决策方法&#xff0c;用于将多个目标指标进行综合评估和权衡…

【子串】3. 无重复的最长子串

3. 无重复的最长子串 难度&#xff1a;中等难度 力扣地址&#xff1a;https://leetcode.cn/problems/longest-substring-without-repeating-characters/description/ 题目看起来简单&#xff0c;刷起来有好几个坑&#xff0c;特此记录一下&#xff0c;解法比官网的更加简单&…

Json与Java类

简介 JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;易于人阅读和编写&#xff0c;同时也易于机器解析和生成。JSON数据由键值对构成&#xff0c;并以易于阅读的文本形式展现&#xff0c;支持数组、对象、字符串、数字、布尔值…