创建不期望表达式的Vue指令

时间:2017-11-29 06:01:48

标签: vue.js pug

此代码:

// template in pug
#review-step.container

    .panel(v-test.a)

// in main.js
Vue.directive('test', function(el, binding) {
    console.log(binding.modifiers)
})

给出了这些错误:

[Vue warn]: Property or method "v" is not defined on the instance but referenced during render. ...
[Vue warn]: Property or method "test" is not defined on the instance but referenced during render. ...
TypeError: Cannot read property 'a' of undefined. ...

如果我将指令更改为v-test.a="",那么它可以正常工作。同样,v-prev-cloakv-once都可以正常工作,因此不会错误地编译模板。

我想知道如何创建一个不需要表达式的指令,例如来自bootstrap-vuev-prev-cloakv-b-modal(顺便说一句,这就是原因)我真的在这里,因为那个指令有同样的问题。)

我无法在任何地方找到这个,vue custom directives文档什么都没有,在vue repo中搜索directive pre或类似内容并没有帮助我找到vue团队如何完成此任务

1 个答案:

答案 0 :(得分:0)

事实证明这是哈巴狗。我不知道vue团队如何使他们的指令无论如何都有效,但是pug是mirroring attributes

不幸的是,我需要弄清楚如何将doctype选项传递给vue webpack加载器,除非我想在每个模板的顶部声明它。