vue2注册全局指令写在哪个文件里面?怎么写
时间: 2023-12-31 11:03:20 浏览: 26
在 Vue2 中,注册全局指令需要在 Vue 实例化之前进行,一般建议在 `main.js` 中进行注册。
具体的代码如下:
```javascript
// main.js
import Vue from 'vue'
import App from './App.vue'
// 注册全局指令
Vue.directive('my-directive', {
bind: function (el, binding, vnode) {
// 指令绑定时的处理逻辑
},
inserted: function (el, binding, vnode) {
// 指令插入到 DOM 中时的处理逻辑
},
update: function (el, binding, vnode, oldVnode) {
// 指令所在组件的 VNode 更新时的处理逻辑
},
componentUpdated: function (el, binding, vnode, oldVnode) {
// 指令所在组件的 VNode 及其子 VNode 全部更新时的处理逻辑
},
unbind: function (el, binding, vnode) {
// 指令解绑时的处理逻辑
}
})
new Vue({
render: h => h(App),
}).$mount('#app')
```
上面代码中,我们通过 `Vue.directive` 方法注册了一个名为 `my-directive` 的全局指令,并定义了该指令的生命周期函数。
在组件中使用该指令时,只需要在模板中写上 `v-my-directive` 即可。
```html
<!-- MyComponent.vue -->
<template>
<div v-my-directive></div>
</template>
```