将方法或者属性挂载到vue上
//方式一: provide、inject (推荐)
1.在scr目录下新建global文件、及index.js
2.将需要挂载的方法存入index.js:
let $alert = () => {
alert("全局方法")
}
let $name = '全局变量'
export default {
$alert,
$name
}
3.main.js
import global from './global/index'//导入
app.provide('global', global)//注入
4.在需要的地方使用
<template>{{global.$name}}</template>
setup(props, context) {
let global = inject("global");
return {
global,
};
}
//方式二
main.js:
1:挂载
let $name = '全局变量'
app.config.globalProperties.$name = $name
2.使用
const { proxy } = getCurrentInstance();//proxy相当于vue2里this
console.log(proxy, $name)
//proxy:
//proxy.$attrs
//proxy.$data
//proxy.$el
//proxy.$emit
//proxy.$forceUpdate
//proxy.$nextTick
//proxy.$options
//proxy.$parent
//proxy.$props
//proxy.$refs
//proxy.$root
//proxy.$slots
//proxy.$watch