Vue3挂载全局方法及组件中如何使用

文章目录

  • 前言
  • 一、在mian.ts(mian.js)中配置全局变量
    • 1、如何封装
  • 二、如何调用
    • 1.template中调用
    • 2.在script标签中如何拿到


前言

在Vue3项目中,需要频繁使用某一个方法。配置到全局感觉会方便很多。

例如:因为很多页面都需要对时间进行格式,所以将时间格式函数配置到全局


一、在mian.ts(mian.js)中配置全局变量

app.config.globalProperties.xxx上绑定你自定义的方法名,一般使用$开头,来区分组件中方法

代码如下(示例):

import { createApp } from 'vue'import App from './App.vue'
import router from './router'
import store from './store'const app = createApp(App)app.use(store)
app.use(router)
app.config.globalProperties.$filters = {foo() {console.log('foo')},formatTime(value: string) {return '2023-02-22'}}
app.mount('#app')

其实也能对全局配置的这些变量进行封装,因为许多的配置写都到mian.js文件中会显得很杂乱。

1、如何封装

首先在src下面创建global文件并在下创建index.ts与register-properties.ts两个文件。

mian.ts代码:

import { createApp } from 'vue'import App from './App.vue'
import router from './router'
import store from './store'
import { globalRegister } from './global'const app = createApp(App)// 全局注册(默认会将app传递给globalRegister作为参数)
app.use(globalRegister)
app.use(store)
app.use(router)app.mount('#app')

register-properties.ts代码:

import { App } from 'vue'// App是用来确定类型
export default function registerProperties(app: App) {app.config.globalProperties.$filters = {foo() {console.log('foo')},formatTime(value: string) {return '2023-02-22'}}
}

index.ts代码:

import { App } from 'vue'
import registerProperties from './register-properties'export function globalRegister(app: App): void {app.use(registerProperties)
}

index.ts的作用是用来统一注册

二、如何调用

1.template中调用

代码如下(示例):

<template><div class="user">{{ $filters.formatTime('2022-12-23') }}</div>
</template>

2.在script标签中如何拿到

代码如下(示例):

<script lang="ts">
import { defineComponent, getCurrentInstance } from 'vue'export default defineComponent({setup() {const comp = getCurrentInstance()// 打印看一下结构console.log('comp', comp)return {}}
})
</script>

在这里插入图片描述
中实例里面拿到

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

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

相关文章

ASCII码对照表 十六进制的字符对照表

ASCII码对照表&#xff08;包括二进制、十进制十六进制和字符&#xff09; 可以显示 不可以显示

如何用爬虫实现GPT功能

如何用爬虫实现GPT功能&#xff1f; GPT&#xff08;Generative Pre-trained Transformer&#xff09;和爬虫是两个完全不同的概念和技术。GPT是一种基于Transformer模型的自然语言处理模型&#xff0c;用于生成文本&#xff0c;而爬虫是一种用于从互联网上收集数据的技术。 …

【微服务】搭建项目以及子模块

目录 方法一&#xff1a;搭建远程仓库新建idea 项目创建子模块创建父模块的pom父模块的gitignore文件修改查看远程代码仓库 方法二 方法一&#xff1a; 搭建远程仓库 选择 下载地址 新建idea 项目 复制 项目远程仓库的下载地址 下载完成 创建子模块 导入微服务的必要组件…

JavaScrpt_11 Web API 事件流、委托事件、其它事件、元素尺寸与位置

JavaScrpt_11 Web API 事件流、委托事件、其它事件、元素尺寸与位置 前言一、事件流1. 捕获和冒泡2. 阻止冒泡 二、委托事件三、其它事件1. 页面加载事件 2. 元素滚动事件 3. 页面尺寸事件 四、元素尺寸与位置 前言 进一步学习 事件进阶&#xff0c;实现更多交互的网页特效&…

【UE4 C++】06-绑定运动输入(实现前后移动、鼠标转向)

目录 一、WS前后移动 二、鼠标转向 一、WS前后移动 为了让玩家控制的“PlayerCharacter”能够实现前后移动 在“SCharacter.cpp"中添加如下代码 在“SCharacter.h"中添加如下代码 添加轴映射 设置自动控制玩家 此时按下WS键就可以前进后退了。 二、鼠标转向 …

Overleaf论文投稿

1.Overleaf 具体投稿 一步一步教&#xff01;&#xff01;&#xff01;以Springer Nature为例 2.如何在overleaf上寻找会议或期刊的模板 LaTex期刊模板下载与使用

【Matlab】智能优化算法_广义正态分布优化算法GNDO

【Matlab】智能优化算法_广义正态分布优化算法GNDO 1.背景介绍2.数学模型2.1 局部开采2.2 全局勘探 3.文件结构4.伪代码5.参考文献 1.背景介绍 GNDO受到正态分布理论的启发。正态分布也称为高斯分布&#xff0c;是描述自然现象的一个非常重要的工具。正态分布可以定义如下。假设…

文件操作--按格式读写文件

C语言允许按指定格式读写文件。函数fscanf&#xff08;&#xff09;用于按指定格式从文件读数据。其函数原型为&#xff1a; int fscanf (FILE *fp, const char *format ,...)&#xff1b; 其中&#xff0c;第一个参数为文件指针&#xff0c;第2个参数为格式控制参数&#x…

矩形面积 (力扣)数学推理 JAVA

给你 二维 平面上两个 由直线构成且边与坐标轴平行/垂直 的矩形&#xff0c;请你计算并返回两个矩形覆盖的总面积。 每个矩形由其 左下 顶点和 右上 顶点坐标表示&#xff1a; 第一个矩形由其左下顶点 (ax1, ay1) 和右上顶点 (ax2, ay2) 定义。 第二个矩形由其左下顶点 (bx1, b…

AutoDL使用教程

AutoDl是一个租用GPU显卡的平台&#xff0c;我们可以在上面租用显卡。我训练模型的时候租用了一块V100。 下面介绍一下使用AutoDL 来租用GPU显卡&#xff0c;并将自己的代码上传&#xff0c;运行代码。 目录&#xff1a; 创建实例配置环境 pytorch环境上传文件运行代码 一、…

怎么制作查询成绩的网页?这个不用代码的方法你用过没?

作为一名老师&#xff0c;与家长沟通交流是日常工作中重要的一部分。特别是每次考完试后&#xff0c;家长都急切地想了解孩子的成绩&#xff0c;以便能及时了解孩子的学习情况并给予适当的支持和指导。然而&#xff0c;为了保护学生的隐私&#xff0c;大部分学校不公开张榜学生…

IP网络基础

文章目录 数据通信基础数据流方向&#xff08;工作模式&#xff09;网络和Internet简介网络&#xff1a;互联网&#xff1a;总结&#xff1a; 协议和标准标准化组织标准化组织——IETF标准的种类 IP网络基本架构 lP网络在现代社会中有着越来越重要的地位。本课程将介绍数据通信…