vue directive 上下文问题
已经尝试过如下代码:
export default function(Vue) {
Vue.directive(‘copy’, {
value: ‘-‘,
listener: null,
bind (el, binding) {
const fn = function(){
copyToClipboard(this.value)
}
binding.def.listener = fn.bind(binding.def)
binding.def.value = binding.value
el.addEventListener(‘click’,binding.def.listener)
},
unbind (el, binding) {
el.removeEventListener(‘click’,binding.def.listener)
},
update(el, binding){
binding.def.value = binding.value
}
})
}
但这段代码问题是所有的 directive 实例都会共享同一个 binding.def ,我看了文档并没有发现 directive 有上下文的概念,不知道应该怎么搞