做vue项目的时候,总有一些小组件或者工具类,我们需要频繁的使用,每个使用的地方再去引用相对比较麻烦,当然也有一些好处,尤其是配合组件异步加载的时候,能最更好的减少项目首次加载的体积,从而优化一些体验。

全局js插件

因为vue3.x js插件的全局使用也有调整,这里稍微说下简易的全局js引入。

#比如,有tools.js如下:

const tools = {
isIos: function () {
const agent = navigator.userAgent;
return !!agent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); // ios终端
},
} export default tools

# main.js 如下引入

import tools from '@/utils/tools'
app.config.globalProperties.$tools = tools;

在组件内就可以如此使用了

console.log(this.$tools.isIos());

全局vue组件

1、简易实用

正常定一个组件,如:global-component.vue,并且实现这个组件。

# main.js 里面,引入如下:

import GlobalComponent from '@/components/global-component.vue'
app.component('global-component', GlobalComponent)

现在可以直接在项目中的其他组件里面直接使用GlobalComponent这个组件了,使用如下:

<template>
<global-component></global-component>
</template>

2、优雅

正常定一个组件,如:global-component.vue,并且实现这个组件。

新建一个js文件,如:global-comp.js,实现如下:

import GlobalComponent from './global-component.vue'

export default {
install:function(Vue){
Vue.component('global-component', GlobalComponent);
}
}

# main.js 里面使用这个js:

import GlobalComponent from '@/components/global-comp.js'
app.use(GlobalComponent)

现在可以直接在项目中的其他组件里面直接使用GlobalComponent这个组件了,使用如下:

<template>
<global-component></global-component>
</template>

注意事项:(组件名大小写)

在字符串模板或单个文件组件中定义组件时,定义组件名的方式有两种:

1、使用 kebab-case

当使用 kebab-case (短横线分隔命名) 定义一个组件时,你也必须在引用这个自定义元素时使用 kebab-case,例如 。

app.component('my-component-name', {
/* ... */
})

2、使用 PascalCase

当使用 PascalCase (首字母大写命名) 定义一个组件时,你在引用这个自定义元素时两种命名法都可以使用。也就是说 和 都是可接受的。注意,尽管如此,直接在 DOM (即非字符串的模板) 中使用时只有 kebab-case 是有效的。

app.component('MyComponentName', {
/* ... */
})

vue3.x全局插件和组件的更多相关文章

  1. 【vue3】封装自定义全局插件

    [vue3]封装自定义全局插件 原vue2方法 main.js import Vue from 'vue' import App from './App.vue' import router from ...

  2. VUE3 之 全局组件与局部组件

    1. 概述 老话说的好:忍耐是一种策略,同时也是一种性格磨炼. 言归正传,今天我们来聊聊 VUE 的全局组件与局部组件. 2. 全局组件 2.1 不使用组件的写法  <body> < ...

  3. 开发vue全局插件的4种方式

    定义全局插件的步骤 定义全局插件 pluginsUtil.js Vue.js 的插件应当有一个公开方法 install .这个方法的第一个参数是 Vue 构造器,第二个参数是一个可选的选项对象: ex ...

  4. vue3系列:vue3.0自定义弹框组件V3Popup|vue3.x手机端弹框组件

    基于Vue3.0开发的轻量级手机端弹框组件V3Popup. 之前有分享一个vue2.x移动端弹框组件,今天给大家带来的是Vue3实现自定义弹框组件. V3Popup 基于vue3.x实现的移动端弹出框 ...

  5. vue2升级vue3:Vue Demij打通vue2与vue3壁垒,构建通用组件

    如果你的vue2代码之前是使用vue-class-component 类组件模式写的.选择可以使用 https://github.com/facing-dev/vue-facing-decorator ...

  6. [PHP]全局使用 Composer 组件的思路

    /** * 全局使用 composer 组件的步骤: * * 1. 建一个包含所有需要全局使用的composer包的项目. * 如:globalVendor/ * composer init 初始化 ...

  7. vue教程3-03 vue组件,定义全局、局部组件,配合模板,动态组件

    vue教程3-03 vue组件,定义全局.局部组件,配合模板,动态组件 一.定义一个组件 定义一个组件: 1. 全局组件 var Aaa=Vue.extend({ template:'<h3&g ...

  8. vue2.0 仿手机新闻站(五)全局的 loading 组件

    1.组件结构 index.js const LoadingComponent = require('./Loading.vue') const loading = { install: functio ...

  9. Vue学习之全局和私有组件小结(七)

    一.组件: 组件的出现,就是为了拆分Vue实例的代码量的,能够让我们以不同的组件,来划分不同的功能模块,将来我们需要什么样的功能,就可以去调用相应的组件即可. 二.组件和模块: 1.模块化:是从代码逻 ...

随机推荐

  1. Devexpress TreeList控件使用

    增加显示列treeList1.Columns.Add(new TreeListColumn {Caption = "城市", FieldName = "Name" ...

  2. MySQL实战45讲(16--20)-笔记

    目录 16 | "order by"是怎么工作的? 全字段排序 rowid 排序 17 | 如何正确地显示随机消息? 内存临时表 磁盘临时表 随机排序方法 18 | 为什么这些SQ ...

  3. 计算机网络-HTTP篇

    目录 计算机网络-HTTP篇 HTTP的一些问题 HTTP 基本概念 常见状态码 常见字段 Get 与 Post HTTP 特性 HTTP(1.1) HTTP/1.1 HTTPS 与 HTTP HTT ...

  4. split文件切片

    文件上传下载过程中经常会遇到网络不稳定,或者传输软件限制传输的文件大小之类的问题.在当今换没有出现很好的软件的时候,一个available方法是将大文件切片,也就是 切成小文件,然后通过其他方法put ...

  5. 企业级镜像仓库 harbor

    企业级镜像仓库 harbor 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云服务器 c. 上一篇:跨 Docker 宿主机网络 overlay 类型 h ...

  6. java线程day-01

    综述:下面写的是我学习java线程时做的一些笔记和查阅的一些资料总结而成.大多以问答的形式出现. 一.什么是线程? 答:线程是一个轻量级的进程,现在操作系统中一个基本的调度单位,而且线程是彼此独立执行 ...

  7. CPU到底是什么东西?它为什么能够执行数学运算?

    CPU到底是什么东西?它为什么能够执行数学运算? 本文地址http://yangjianyong.cn/?p=20转载无需经过作者本人授权 简单的物理电路 先来看一张初中学过的物理电路图: 从图中我们 ...

  8. TP5 windows中执行定时任务

    1 首先先写个自定义命令文件 比如 Test 2 在网站根目录下建立文件 crond.bat ,内容:(把你在cmd上操作流程写一遍) D: cd workspace\wamp\tp5 D:\PHPW ...

  9. ecshop调用指定栏目下的商品的方法

    第一步 在系统目录文件找到includes/lib_goods.php  这个文件打开 在此页最底部加入以下函数代码 /** * 首页获取指定分类产品 * * @access public * @pa ...

  10. csv或excel的utf-8乱码问题

    方法1.数据导入 打开 Excel,执行"数据"->"自文本",选择 CSV 文件,出现文本导入向导,选择"分隔符号",下一步,勾选& ...