我无法获取在其事件处理程序中触发事件的html字段(在javascript中是event.target
)。
我有一张表格:
我的代码如下:
var Main = {
methods: {
change(par) {
console.log("The value is: " + par);
//HERE I can't get "event.target"
}
}
};
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')
<script src="//unpkg.com/vue/dist/vue.js"></script>
<script src="//unpkg.com/[email protected]/lib/index.js"></script>
<div id="app">
<template>
<el-input @change="change" placeholder="Input something here"/>
</template>
</div>
我知道我可以调用不同的函数,在每一个函数中,我都知道谁是相对的输入,但我想使用一个常见的函数。
在堆栈跟踪之后,我在element-ui.common.js
中看到了事件代码:
handleChange: function handleChange(event) {
this.$emit('change', event.target.value);
},
并且element
只将值传递给事件处理程序。
无论如何,任何想要获得event.target
的想法,好吗?
谢谢
你可以使用@ input.native
var Main = {
methods: {
change(event) {
console.log("The value is: " + event.target.value);
//HERE I can't get "event.target"
}
}
};
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')
<script src="//unpkg.com/vue/dist/vue.js"></script>
<script src="//unpkg.com/[email protected]/lib/index.js"></script>
<div id="app">
<template>
<el-input @input.native="change" placeholder="Input something here"/>
</template>
</div>
看起来Element UI只是吃掉事件而只返回值。你可以做什么而不是@change(change)
是@keyup.native(change)
然后你的par
参数将是事件而不仅仅是值。