【问题标题】:Vue2 populate inputs in edit viewVue2 在编辑视图中填充输入
【发布时间】:2018-06-05 20:03:13
【问题描述】:

我正在尝试在 vue2 中创建一个简单的 CRUD,并且效果很好,但是当我进入编辑视图时,我需要根据 Firebase 数据填写表单输入。

查看

  <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
      })

snapshot.val().name

正确返回名称,但是当我尝试将此值分配给 this.user 时不起作用。控制台不返回任何错误。

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

【问题讨论】:

    标签: vuejs2


    【解决方案1】:
    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
      })
    

    这可能是范围问题。尝试上面的代码来维护范围,看看是否有帮助。

    【讨论】:

    • 你试过console.log(snapshot);这样我们就可以了解那里有什么
    【解决方案2】:
     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)
    

    这可行,但存在一种更好地“编码”的形式?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-10
      • 2020-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多