如何在 Vue3 项目配置全局方法

简介: 本文介绍了在Vue3项目中配置全局方法的几种方式,包括如何将Moment.js日期处理类库和字符串颜色值生成方法设置为全局可访问的属性。

前言

大家都知道 Vue2 项目配置全局方法最简单就是使用【Vue.prototype.$XXX = XXX】这种实现方式。如该文章【https://blog.csdn.net/Cai181191/article/details/123797934】就是用这种方式来实现,然而 Vue3 项目实现配置全局方法可能就有点不一样了。

一、引入 Moment.js 日期处理类库并配置为全局方法

1.官网传送门

http://momentjs.cn/
AI 代码解读

2.导入依赖

npm i moment
AI 代码解读

3.示例代码

(1)/src/utils/momentUtil.js

import moment from 'moment';

const YYYY_MM_DD = (time) => {
   
  if (time) {
   
    return moment(time).format('YYYY-MM-DD')
  } else {
   
    return ''
  }
}

const YYYY_MM_DD__HH_mm_ss = (time) => {
   
  if (time) {
   
    return moment(time).format('YYYY-MM-DD HH:mm:ss')
  } else {
   
    return ''
  }
}

export {
   
  YYYY_MM_DD,
  YYYY_MM_DD__HH_mm_ss
}
AI 代码解读

(2)main.js

// 引入格式化时间工具并配置为全局方法
import * as momentUtil from '@/utils/momentUtil'
app.config.globalProperties.$momentUtil = momentUtil
AI 代码解读

4.使用方式

<div>{
  { $momentUtil.YYYY_MM_DD(scope.row.createTime) }}</div>
AI 代码解读

二、生成字符串对应的颜色值并配置为全局方法

1.示例代码

(1)/src/utils/colorUtil.js

const stringToColor = (str) => {
   
  if (str) {
   
    let hash = 0
    for (var i = 0; i < str.length; i++) {
   
      hash = hash * 31 + str.charCodeAt(i)
      hash = intValue(hash)
    }
    let r = (hash & 0xFF0000) >> 16
    let g = (hash & 0x00FF00) >> 8
    let b = (hash & 0x0000FF)
    return 'rgba(' + r + ',' + g + ',' + b + ',' + '0.2)'
  } else {
   
    return 'transparent' // 透明
  }
}

function intValue(num) {
   
  var MAX_VALUE = 0x7fffffff;
  var MIN_VALUE = -0x80000000;
  if (num > MAX_VALUE || num < MIN_VALUE) {
   
    return num &= 0xFFFFFFFF;
  }
  return num;
}

export {
   
  stringToColor
}
AI 代码解读

(2)main.js

// 引入颜色工具并配置为全局方法
import * as colorUtil from '@/utils/colorUtil'
app.config.globalProperties.$colorUtil = colorUtil
AI 代码解读

2.使用方式

<p :style="'color: ' + $colorUtil.stringToColor('HelloWorld')">HelloWorld</p>
AI 代码解读
目录
打赏
0
0
0
0
26
分享
相关文章
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
138 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
vue2和vue3的响应式原理有何不同?
大家好,我是V哥。本文详细对比了Vue 2与Vue 3的响应式原理:Vue 2基于`Object.defineProperty()`,适合小型项目但存在性能瓶颈;Vue 3采用`Proxy`,大幅优化初始化、更新性能及内存占用,更高效稳定。此外,我建议前端开发者关注鸿蒙趋势,2025年将是国产化替代关键期,推荐《鸿蒙 HarmonyOS 开发之路》卷1助你入行。老项目用Vue 2?不妨升级到Vue 3,提升用户体验!关注V哥爱编程,全栈开发轻松上手。
高效工作流:用Mermaid绘制你的专属流程图;如何在Vue3中导入mermaid绘制流程图
mermaid是一款非常优秀的基于 JavaScript 的图表绘制工具,可渲染 Markdown 启发的文本定义以动态创建和修改图表。非常适合新手学习或者做一些弱交互且自定义要求不高的图表 除了流程图以外,mermaid还支持序列图、类图、状态图、实体关系图等图表可供探索。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
你真的会使用Vue3的onMounted钩子函数吗?Vue3中onMounted的用法详解
onMounted作为vue3中最常用的钩子函数之一,能够灵活、随心应手的使用是每个Vue开发者的必修课,同时根据其不同写法的特性,来选择最合适最有利于维护的写法。博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Pinia 如何在 Vue 3 项目中进行安装和配置?
Pinia 如何在 Vue 3 项目中进行安装和配置?
101 4
管理数据必备;侦听器watch用法详解,vue2与vue3中watch的变化与差异
一篇文章同时搞定Vue2和Vue3的侦听器,是不是很棒?不要忘了Vue3中多了一个可选项watchEffect噢。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
4月前
|
vue使用iconfont图标
vue使用iconfont图标
203 1

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等