代码之家  ›  专栏  ›  技术社区  ›  El Hombre Sin Nombre

Vue2在编辑视图中填充输入

  •  1
  • El Hombre Sin Nombre  · 技术社区  · 7 年前

    查看

      <v-text-field prepend-icon="person" v-model="user" name="user" label="User" type="text" required></v-text-field>
      <v-text-field prepend-icon="mail" v-model="email" name="email" label="Email" type="email"></v-text-field>
    

    JS公司

      export default {
        data: function () {
          return {
            user: '',
            email: '',
            drawer: null
          }
          var edit = ref.child(this.$route.params.id)
          edit.on('value', function (snapshot) {
            this.user = snapshot.val().name
            this.email = snapshot.val().email
          })
    

    正确返回name,但当我尝试将此值赋给此用户不起作用。控制台不返回任何错误。

    有人知道什么是正确的方法吗?

    2 回复  |  直到 7 年前
        1
  •  0
  •   Toby Okeke    7 年前
    export default {
    data: function () {
      return {
        user: '',
        email: '',
        drawer: null
      }
      var edit = ref.child(this.$route.params.id)
      var self = this;
      edit.on('value', function (snapshot) {
        self.user = snapshot.val().name
        self.email = snapshot.val().email
      })
    

    这可能是一个范围问题。尝试上面的代码来维护作用域,让我们看看这是否有帮助。

        2
  •  0
  •   El Hombre Sin Nombre    7 年前
     var edit = ref.child(this.$route.params.id)
     edit.on('value', snapshot => this.user = snapshot.val().name)
     edit.on('value', snapshot => this.email = snapshot.val().email)
    

    这是可行的,但是否存在一个更好的“代码”形式?