vue.js - vue 自定义指令里的updata函数中,新的值怎么传回去给methods里去用?
本文介绍了vue.js - vue 自定义指令里的updata函数中,新的值怎么传回去给methods里去用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
这里的this是undefine。。。。
这是我新建的指令dom
然后想点击这个按钮获取到b.oldValue
然后再这个方法里使用
现在是我不知道怎么拿到b.value,不知道怎么拿到它的值,所以用了上面非常笨拙的方法拿到值
解决方案
是要获取触发自定义指令的那个Vue
实例么?在vnode
参数的context
属性中可以获得,也就是图中c.context
其实需求没理解太清楚,看下下面的例子是否是想要的。(点击按钮显示item.cid
上次更新前的值)
demo: jsfiddle
<div id="app">
<button @click="upgrade">click</button>
<input v-dom="item.cid" v-model="item.cid" />
<div id="output"></div>
</div>
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
},
},
})
或者这篇文档可以为你解惑?
这篇关于vue.js - vue 自定义指令里的updata函数中,新的值怎么传回去给methods里去用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文