有没有办法将属性范围扩展到指令?这样的东西,所以我可以添加基础,并在元素未绑定时清除它(删除事件监听器等)?
Vue.directive('toggler', {
inserted(el) {
this.toggler = new Foundation.Toggler($(el));
},
unbind() {
this.toggler.destroy();
},
});
答案 0 :(得分:2)
Vue.directive('f-toggler', {
inserted(el) {
/* eslint-disable no-param-reassign */
el.fToggler = new Foundation.Toggler($(el));
},
unbind(el) {
el.fToggler.destroy();
},
});
答案 1 :(得分:0)
您需要使用vnode.context
来访问Vue实例上的数据属性:
Vue.directive('toggler', {
inserted(el, binding, vnode) {
vnode.context.toggler = new Foundation.Toggler($(el));
},
unbind(el, binding, vnode) {
vnode.context.toggler.destroy();
},
});
这是一个显示基本过程的JSFiddle:https://jsfiddle.net/dv5n39ta/