我有指令,我想在指令中创建一个本地方法并在钩子(Hook)函数中使用它。这是我的代码:
export const OutsideClick = {
bind (el, binding, vnode) {
console.log(new Vue());
// call method1()
},
componentUpdated(el, binding, vnode) {
console.log('updated comp', binding);
if(binding.value[1]()) {
// call method1();
}
},
unbind(el, binding, vnode) {
console.log('unbinding');
}
}
那么此时如何在指令中定义函数并在 bind
和 componentUpdated
中使用它?
最佳答案
我认为您不能在指令本身内添加方法。但是您可以在指令外部声明该方法并从指令内部调用它。
function method1 (el, binding, vnode) {
...
}
export const OutsideClick = {
bind (el, binding, vnode) {
console.log(new Vue());
method1(el, binding, vnode)
},
componentUpdated(el, binding, vnode)
{
console.log('updated comp', binding);
if(binding.value[1]()) {
method1(el, binding, vnode)
}
},
unbind(el, binding, vnode) {
console.log('unbinding')
method1(el, binding, vnode)
}
}
关于javascript - 如何在 Vue 指令中定义一个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55157157/