此代码:
// 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-pre
,v-cloak
和v-once
都可以正常工作,因此不会错误地编译模板。
我想知道如何创建一个不需要表达式的指令,例如来自bootstrap-vue的v-pre
,v-cloak
或v-b-modal
(顺便说一句,这就是原因)我真的在这里,因为那个指令有同样的问题。)
我无法在任何地方找到这个,vue custom directives文档什么都没有,在vue repo中搜索directive pre
或类似内容并没有帮助我找到vue团队如何完成此任务
答案 0 :(得分:0)
事实证明这是哈巴狗。我不知道vue团队如何使他们的指令无论如何都有效,但是pug是mirroring attributes。
不幸的是,我需要弄清楚如何将doctype选项传递给vue webpack加载器,除非我想在每个模板的顶部声明它。