Я не проверял это, но из документа это должно выглядеть следующим образом.
возможно, я отредактирую его позже с более конкретным и правильным ответом
Vue.directive('condition', {
inserted(el, binding, vnode, oldVnode){
/* called when the bound element has been inserted into its parent node
(this only guarantees parent node presence, not necessarily in-document). */
if (!test){ el.remove() }
}
update(el, binding, vnode, oldVnode ){
/* called after the containing component’s VNode has updated, but possibly before
its children have updated. */
if (!test()){ el.remove() }
//or you can try this, changed the vnode
vnode.props.vIf = test();
}
}
Иликороче говоря
Vue.directive('condition', function (el, binding) {
if (!test){ el.remove() }
})
Помимо el, вы должны обрабатывать эти аргументы только для чтения и никогда не изменять их.Если вам нужно обмениваться информацией между хуками, рекомендуется делать это через набор данных элемента.