问 题
这里的this是undefine。。。。
这是我新建的指令dom
然后想点击这个按钮获取到b.oldValue
然后再这个方法里使用
现在是我不知道怎么拿到b.value,不知道怎么拿到它的值,所以用了上面非常笨拙的方法拿到值
解决方案
是要获取触发自定义指令的那个Vue实例么?在vnode参数的context属性中可以获得,也就是图中c.context
其实需求没理解太清楚,看下下面的例子是否是想要的。(点击按钮显示item.cid上次更新前的值)
demo: jsfiddle
click
Vue.directive('dom', {
update(el, binding, vnode, oldVnode) {
vnode.context.item.cidOld = binding.oldValue
}
})
new Vue({
el: '#app',
data: {
item: {
cid: 'a',
cidOld: null,
},
},
methods: {
upgrade() {
console.log(this.item.cidOld)
document.querySelector('#output').innerText = this.item.cidOld
},
},
})
或者这篇文档可以为你解惑?
扫一扫关注IT屋
微信公众号搜索 “ IT屋 ” ,选择关注与百万开发者在一起