Javascript 如何在Vue.js中创建自定义指令,如v-on
我试图创建一个与v-on行为相同的指令(为了学习)。 我已经可以使用它将函数作为值传递,但是我想知道如何将代码作为值传递 用法示例:Javascript 如何在Vue.js中创建自定义指令,如v-on,javascript,vuejs2,directive,Javascript,Vuejs2,Directive,我试图创建一个与v-on行为相同的指令(为了学习)。 我已经可以使用它将函数作为值传递,但是我想知道如何将代码作为值传递 用法示例: <button v-onward:click="print">Test 1</button> <button v-onward:click="testNumber = testNumber + 1">Test 2</button> directives:{ 'onward': {
<button v-onward:click="print">Test 1</button>
<button v-onward:click="testNumber = testNumber + 1">Test 2</button>
directives:{
'onward': {
bind(el, binding, vnode){
if(typeof binding.value === 'function')
el.addEventListener(binding.arg, binding.value);
else
el.addEventListener(binding.arg, function(){
binding.value
});
}
}
}