В методе привязки директивы есть vnode.context.$watch
, и каждый раз, когда директива добавляется в HTML, она также добавляет другого наблюдателя с предыдущим наблюдателем. Из-за этого одни и те же наблюдатели звонят не раз.
Есть ли способ уничтожить предыдущего наблюдателя, когда вызван метод unbind директивы.
Vue.directive("dynamic-lookup", {
bind: function (el, binding, vnode) {
let dependency = setValue("dynamic-lookup-dependency");
if (dependency) {
vnode.context.$watch(dependency, function (newVal, oldVal) { }); });
}
},
unbind: function(el, binding, vnode) {
console.log("unbind");
}
});