我正在尝试在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时不起作用。控制台不会返回任何错误。
¿任何人都知道什么是正确的方法?
答案 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;更好?