Vue2在编辑视图中填充输入

时间:2018-06-05 20:03:14

标签: vuejs2

我正在尝试在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()。名称

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

¿任何人都知道什么是正确的方法?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

 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)

这有效,但存在一个表格代码&#39;更好?