Javascript 如何在Vue.js中创建自定义指令,如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': {

我试图创建一个与v-on行为相同的指令(为了学习)。 我已经可以使用它将函数作为值传递,但是我想知道如何将代码作为值传递

用法示例:

<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
                    });
            }
        }
    }