VueJS:可以在模块中定义的指令中设置v指令吗?

时间:2018-02-23 22:39:16

标签: javascript vue.js

我正在创建一个主复选框mixin,它管理masterCheckbox和followerCheckboxes的状态。不必在不同的复选框元素上多次设置像v-model这样的指令,设置一个处理它的指令会更好。

下面的示例不起作用,而是我必须在使用mixin的组件上单独设置它们。我做错了什么,或者这是不可能的?

// define a mixin object
module.exports = {
    directives: {
        masterCheckbox: {
            // directive definition
            bind: function (el, binding, vnode) {
                el.setAttribute("v-on:click", "toggleMasterCheckbox");
                el.setAttribute("v-model", "masterCheckboxChecked");
                el.setAttribute(":indeterminate.prop", "masterCheckboxIndeterminate");
            }
        },
        followerCheckbox: {
            // directive definition
            bind: function (el, binding, vnode) {
                el.setAttribute("v-model", "checkedCheckboxes");
            }
        }
    },

    ...
}

0 个答案:

没有答案