39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
// plugins/my-directive.ts
|
|
export default defineNuxtPlugin((nuxtApp) => {
|
|
nuxtApp.vueApp.directive("focus", {
|
|
// called before bound element's attributes
|
|
// or event listeners are applied
|
|
created(el, binding, vnode) {
|
|
// see below for details on arguments
|
|
|
|
el.focus();
|
|
},
|
|
// called right before the element is inserted into the DOM.
|
|
beforeMount(el, binding, vnode) {},
|
|
// called when the bound element's parent component
|
|
// and all its children are mounted.
|
|
mounted(el, binding, vnode) {},
|
|
// called before the parent component is updated
|
|
beforeUpdate(el, binding, vnode, prevVnode) {},
|
|
// called after the parent component and
|
|
// all of its children have updated
|
|
updated(el, binding, vnode, prevVnode) {
|
|
var value = binding.value;
|
|
if (value) {
|
|
// Vue.nextTick(function() {
|
|
el.focus();
|
|
// });
|
|
}
|
|
},
|
|
// called before the parent component is unmounted
|
|
beforeUnmount(el, binding, vnode) {},
|
|
// called when the parent component is unmounted
|
|
unmounted(el, binding, vnode) {},
|
|
|
|
getSSRProps(binding, vnode) {
|
|
// You can provide SSR-specific props here
|
|
return {};
|
|
},
|
|
});
|
|
});
|