import { scrollList } from './scrollList'
export default {
setup() {
/*...*/
},
directives: {
// включает v-scroll-list в шаблоне
scrollList,
}
}
或全局注册:
import { scrollList } from './scrollList'
const app = createApp({})
// сделать v-scroll-list пригодным для использования во всех компонентах
app.directive('scrolList', scrollList)
// этот объект, который описывает функционал пользовательской директивы можно вынести
// в отдельный файл и импортировать в нужное место в приложении
const scrollList = {
mounted(el, binding, vnode, prevVnode) {
console.log(binding.value.color);
},
}
const app = Vue.createApp({
// использование директивы только в текущем компоненте
directives: {
// включает v-scroll-list в шаблоне компонента
scrollList,
}
})
// глобальная регистрация директивы
// app.directive('scrollList', scrollList)
app.mount('#app')
自定义指令被定义为包含类似于组件处理程序的生命周期处理程序的对象。
将指令的逻辑移动到单独的文件(将其形式化为命名对象导出):
然后,您可以将此指令(对象)导入所需的组件,如下所示:
或全局注册: