首页 > 其他分享 >vue3全局注册的另一种方式——插件注册

vue3全局注册的另一种方式——插件注册

时间:2023-06-05 14:11:29浏览次数:33  
标签:index 插件 key 注册 vue3 组件 全局

1. 新建一个index.ts,用于管理所有全局组件

// 引入项目中全部的全局组件
import SvgIcon from "./SvgIcon/index.vue";
import Pagination from "./Pagination/index.vue";
// 全局对象
const allGlobalComponent = <any>{ SvgIcon, Pagination };
// 对外暴露插件对象
export default {
  // vue提供install方法供我们开发新的插件及全局注册组件等
  install(app: any) {
    // 注册项目全部的全局组件
    Object.keys(allGlobalComponent).forEach((key) => {
      // 注册为全局组件
      app.component(key, allGlobalComponent[key]);
      // console.log(key);
    });
  }
};

2. main.ts   使用插件

// 引入自定义插件对象:注册整个给项目全局组件
import globalComponent from "@/components"; // 会自动识别index.vue文件
// 安装自定义插件
app.use(globalComponent);

3. 使用组件

    <svg-icon width="40px" height="40px" name="shoppingCar"></svg-icon>
    <Pagination> </Pagination>

4. 效果

 

标签:index,插件,key,注册,vue3,组件,全局
From: https://www.cnblogs.com/gamepen/p/17457635.html

相关文章

  • vue的插件使用
    vue插件功能:用于增强Vue本质:包含install方法的一个对象,install的第一个参数是Vue,第二个以后的参数是插件使用者传递的数据。1、定义插件:对象.install=function(Vue,options){//1、添加全局过滤器Vue.filter(....)//2、添加全局指令Vue.directive(.......
  • 解决VSCode的Vetur插件has no default export问题
    由于有vue2和vue3的项目,VSCode同时使用了vetur和volar插件,但是在vue3引入其他模块时,报了错误Module'"xxxx.vue"'hasnodefaultexport.的错误,实际运行时没问题的,但是看得糟心。解决办法,只要在设置里,设置"vetur.validation.script":false......
  • myeclipse 8下载和注册码
         使用ssh开发系统,开发工具myeclipse还是王者,从2005年到现在,一直没有改变过。     现在MyEclipse8.0GA也已经发布很久了,虽然和谐网络下不能访问myeclipse官网,但还是可以通过迅雷很方便的下载myeclipse,赞一个!!以前我非常讨厌迅雷,开来现在应该重新审视对迅雷的看法了......
  • babel-plugin-enhance-log插件使用
    一个用来为console.log添加代码行数,log参数名以及添加分隔符的插件#1.安装插件npmibabel-plugin-enhance-log-D#oryarnaddbabel-plugin-enhance-log-D#orpnpmaddbabel-plugin-enhance-log-D#2.在babel.congfig.js中添加插件://babel.config.jsmodule.expo......
  • vscode插件开发----获得资源管理器当前选中的文件或者目录
    没有直接的API可以获取,不过可以根据鼠标右键上下文菜单项获取对应的uri.package.json中的设置如下:"menus":{"explorer/context":[{"command":"codeStat.countCurFile"}]}扩展实现代码如下://激活函数,是首先要调用的......
  • vscode插件开发----获得当前打开文档对应的工作区根目录
    代码如下:exportfunctionactivate(context:any){//注册一个命令letdisposable=vscode.commands.registerCommand('codeStat.countCurFile',function(){leteditor=vscode.window.activeTextEditor;if(editor){constcurrentDoc......
  • vue3 条件判断语句及v-if与v-show 区别
    <template> <divv-if="type==='a'">aaa</div> <divv-else-if="type==='b'">bbb</div> <divv-else>ccc</div>  <divv-show="flag">111</div> </template>......
  • vue3元素标签属性的绑定
    <template> <divv-bind:id="main"v-bind:class="message">aaa</div></template><script> exportdefault{   data(){      return{         message:'active',         main:'mainid' ......
  • Vue3 模板语法学习
    <template> {{message}} {{number+1}} {{ok?'yes':'no'}}</template><script> exportdefault{   data(){      return{         message:'aaa',         number:10,         ok:false      }   } }&l......
  • 基于 Vue3 + TS 的前端结构
    效果预览:1构建工具构建工具选择vite,它是一个基于原生ES模块的开发服务器,能显著提升开发体验。参考:https://cn.vitejs.dev/guide/2样式处理样式预处理器选择less重置原生样式抽离通用样式,比如flex布局、内外边距、鼠标样式等3使用svg图标使用vite-svg-l......