I would like to have a clean main.js and for this I want to move the directives into an external file. That is, to do something like
//main.js import directives from "./extensions-vue/directives"; app.directive(directives);
and in an external file
export default { myDirective: { mounted(el) { alert(el); }, }, };
My version of course does not work, how to do it correctly
Advertisement
Answer
define them in a separate file like :
export default { 'alert': { mounted(el) { alert(el); }, }, 'log': { mounted(el) { console.log(el); }, }, };
then import them in main.js and loop through them to declare them globally :
//main.js import directives from "./extensions-vue/directives"; Object.keys(directives).forEach(key=>{ //Object.keys(directives) gives ["alert","log"] app.directive(key,directives[key]) //directive name--^ ^-------directive definition })