当前位置: 首页 > news >正文

【Vue3】定义全局变量和全局函数

// main.ts
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App)

// 解决 ts 报错
type Filter = {
  format<T>(str: T): string
}
declare module 'vue' {
  export interface ComponentCustomProperties {
    $filters: Filter,
    $myArgs: string
  }
}

app.config.globalProperties.$myArgs = 'args'
app.config.globalProperties.$filters = {
  format<T>(str: T) {
    return `xiuxiu-${str}`
  }
}
app.mount('#app')
<!-- App.vue -->
<template>
  <div>
    {{ $myArgs }}
    <hr>
    {{ $filters.format('的杯子') }}
  </div>
</template>

<script setup lang="ts">
import { getCurrentInstance } from 'vue';
const app = getCurrentInstance()
// 利用组件实例输出{{ $filter.format('的杯子') }}
console.log(app?.proxy?.$filters.format('的杯子'));
</script>

<style scoped></style>

在这里插入图片描述

相关文章:

  • leetcode 886. 可能的二分法
  • Go Gin Gorm Casbin权限管理实现 - 3. 实现Gin鉴权中间件
  • 大语言模型之十四-PEFT的LoRA
  • 基于安卓android微信小程序的旅游app系统
  • 网络和系统操作命令
  • 线程的概念及使用
  • 学习css 伪类:has
  • 【论文极速读】EMT——评估多模态LLM中的灾难性遗忘问题
  • 11.2 基本电路和基本分析方法
  • 从抽象类和普通类的区别中体会设计模式
  • 软件测试面试大全(2023版,答案+文档)
  • Docker项目部署
  • 零基础转行网络工程师,过来人给的一些建议
  • 如何自学(黑客)网络安全技术————(详细分析学习思路)方法
  • CUDA+cuDNN+TensorRT 配置避坑指南
  • Git远程仓库
  • java 将字符串转为Base64格式与将Base64内容解析出来
  • 如何让FileBeat支持http的output插件
  • 升级Xcode 15后,出现大量Duplicate symbols问题
  • 第五章:最新版零基础学习 PYTHON 教程—Python 字符串操作指南(第七节 - Python 中使用 % 进行字符串格式化)
  • 城事 | 重庆新增热门打卡地标,首座熊猫主题轨交站亮相
  • 学习时报头版:世界要公道不要霸道
  • 均价19.5万元/平米!上海徐汇滨江地王项目“日光”,销售额近70亿元
  • 社恐也能嗨起来,《孤独摇滚》千人观影齐舞荧光棒
  • 会计江湖|年报披露关注什么:独董给出的“信号”
  • 本周看啥|喜欢二次元的观众,去电影院吧