我正在尝试使用Vuejs 2获取keyup的输入值,但总是得到像数据一样的空结果.请参阅下面的代码.
HTML:
<input type="email" @keyup="this.$data.email= $event.target.value" class="form-control" id="email" placeholder="Username (your work email)">
<button type="button" class="btn btn-primary btn-block inactive" @click="submit">Log in</button>
Run Code Online (Sandbox Code Playgroud)
脚本:
data () {
return {
email: '',
}
},
methods: {
submit () {
alert(this.$data.email)
}
}
Run Code Online (Sandbox Code Playgroud)
你需要参考email(不this.$data.email):
<input type="email" @keyup="email = $event.target.value" class="form-control" id="email" placeholder="Username (your work email)">
Run Code Online (Sandbox Code Playgroud)
但是,为什么不使用v-model绑定email到输入?
new Vue({
el: '#app',
data () {
return {
email: '',
}
},
methods: {
submit () {
alert(this.email)
}
}
})Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.2/vue.min.js"></script>
<div id="app">
<input type="email" v-model="email" class="form-control" id="email" placeholder="Username (your work email)">
<button type="button" class="btn btn-primary btn-block inactive" @click="submit">Log in</button>
</div>Run Code Online (Sandbox Code Playgroud)