如果存在多自定义指令的情况,vue3如何在一个单独文件中统一注册
来源:2-11 v-loading 自定义指令的开发
Dxxxxxxw
2021-04-28

假如说存在很多自定义指令的情况下,那么 main.js 中的这个链式调用就会很长。
而在 vue2 中就可以通过如下形式进行注册:
// 在 src/directives/index.js 中
import Vue from 'vue'
Vue.directive('focus',{})
Vue.directive('input',{})
...
// 在 main.js 中
import '@/directives'
而我在 vue3 中这么做就报错了。以下是代码:
// 在 src/directives/index.js 中
import loadingDirective from '@/components/base/loading/directive'
import { createApp } from 'vue'
const app = createApp({})
app.directive('loading', loadingDirective)
// 在 main.js 中
import '@/directives'
写回答
1回答
-
想拆到单独文件中很容易呀
在文件中定义一个单独的 registerDirective(app) 函数,把 app 对象传进去,在函数内部去注册指令。012021-04-28
相似问题