我有一个 Vue 指令,它向 VNode 添加一个条件类。以下是简短的摘录:
Vue.directive('editable', {
bind (el, binding, vnode) {
vnode.data.class = {'hidden': var}
}
})
对于测试建议,我用true
替换了var
,只是为了看看这部分实现是否有效。
如果我现在检查 VNodes 数据,我可以看到这个条件类,看起来如果我已将其直接添加到模板中的元素中。但相比之下,类不会添加到 DOM 元素中,因此类属性不可见。
那么,如何使VNode上的此更改处于活动状态呢?
谢谢!
你得到的第一个参数是el
这是指令所在的元素。
您可以直接使用此参数来操作 DOM 元素,以添加新的 CSS 类
Vue.directive('editable', {
bind (el, binding, vnode) {
if(condition){
el.className += " " + "hidden";
}
}
})