七、Vue3基础之七


一、Vue3定义全局函数和变量

由于vue3没有Prototype属性,使用app.config.globalProperties代替去定义变量和函数。
Vue2

Vue.prototype.$http => () => {
   }

vue3

const app = createApp({
   })
app.config.globalProperties.$http = () => {
   }

在vue3移除了过滤器,我们可以使用全局函数代替Filters

main.ts

import {
    createApp } from 'vue'
import App from './App.vue'
import mitt from 'mitt'

const Mit = mitt()

const app = createApp(App)

declare module 'vue' {
   
    export interface ComponentCustomProperties {
   
        $Bus: typeof Mit
    }
}

app.config.globalProperties.$Bus = Mit

// 自定义一个全局过滤器$filters,里面有一个函数format
type Filter = {
   
    format:(str:string) => string
}
declare module '@vue/runtime-core'{
   
    export interface ComponentCustomProperties{
   
        $filters:Filter
    }
}

app.config.globalProperties.$filters = {
   
    format(str:string):string {
   
        return `'888'.${
     str}`
    }
}
// 自定义全局过滤器结束


app.mount('#app')

App.vue

<template>
    <div>
        <!-- 这里来应用全局过滤器了 -->
        {
   {
   $filters.format('aaa')}}
    </div>
    
</template>

<script setup lang="ts">
import A from './components/A.vue'

</script>

<style lang="scss" scoped>

</style>

二、Vue3插件

在使用createApp()初始化Vue应用程序后,你可以通过use()方法将插件添加到你的应用程序中。
比如element的Message插件,点一下弹出消息框,封装一个全局的插件,在vue的任意组件中都可直接调用。
在src下components下建一个Loading的目录,下面建index.ts和index.vue
index.ts 建插件

import type {
    App, VNode } from 'vue'
import Loading from './index.vue'
import {
    createVNode, render 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永恒的宁静

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值