vue3项目中有一个全局的字典文件dic.js,里面定义的都是一些公共字段映射值,如:
dic.js
export default {
typeMap:{
1:'自动',
2:'手动'
},
...
}
main.js中:
- 首先引入这个文件
- 通过createApp()创建组件实例app
- 将dic暴露出来的数据对象挂载到 app.config.globalProperties 的一个$dic 属性上
main.js
import { createApp } from 'vue'
import dic from './dicFolder/dic.js'
const app = createApp(App)
app.config.globalProperties.$dic = dic
在需要使用 dic 中的字典数据的vue文件中:
- 引入 getCurrentInstance
- 调用 getCurrentInstance,并从结果中解析出proxy(必须用proxy),再从proxy解析到自己定义的 $dic ,这样就可以在js中或模板中直接使用dic里面定义的数据了
test.vue
import { getCurrentInstance } from 'vue'
const { proxy: { $dic } } = getCurrentInstance()
console.log($dic.typeMap)