web-dev-qa-db-fra.com

Obtenir une valeur d'entrée sur keyup Vuejs 2

J'essaie d'obtenir la valeur d'entrée sur keyup à l'aide de Vuejs 2, mais j'obtiens toujours un résultat vide, tel que les données. S'il vous plaît voir le code ci-dessous.

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>

Scénario:

data () {
  return {
    email: '',
  }
},
methods: {
  submit () {
    alert(this.$data.email)
  }
}
5
claudios

Vous devez référencer email (pas this.$data.email):

<input type="email" @keyup="email = $event.target.value" class="form-control" id="email" placeholder="Username (your work email)">

Mais aussi, pourquoi ne pas utiliser v-model pour lier email à l’entrée?

new Vue({
  el: '#app',
  data () {
    return {
      email: '',
    }
  },
  methods: {
    submit () {
      alert(this.email)
    }
  }
})
<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>

6
thanksd

@ keyup.enter.native = "submitMETHOD"

0
anson