gpt4 book ai didi

javascript - 无法让 Firebase 数据在简单的 Vue 应用程序上显示

转载 作者:行者123 更新时间:2023-12-03 01:30:49 24 4
gpt4 key购买 nike

我正在尝试运行一个简单的 Vue+Firebase 应用程序,该应用程序允许您将字符串发送到 firebase 数据库并使用“v-for”指令显示消息。但是,我不断收到错误

属性或方法“消息”未在实例上定义,而是在渲染期间引用

尽管我非常确定我使用了基于 Vue 网站上的示例和 Vuefire github 页面的正确语法来将消息链接到数据库。我可以很好地推送到数据库,但由于某种原因我无法从数据库读取数据。我已经无法让它工作大约一天了,此时任何帮助都是值得赞赏的。

这是我的引用代码:

index.html:

<head>
<script src="https://www.gstatic.com/firebasejs/5.2.0/firebase.js"></script>
<script>
// Initialize Firebase
var config = { ... };
firebase.initializeApp(config);
</script>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>

<body>
<div id="app">
<input type="text" v-model="message" placeholder="Type a message!">
<button v-on:click="sendData">Send Data</button>
<br>
<h3 v-for="msg in messages">{{msg.value}}</h3>
</div>

<script type="text/javascript" src="app.js"></script>
</body>

app.js:

var messageRef = firebase.database().ref('local/responses');

var app = new Vue({
el: '#app',
data: function () {
return {
message: ''
}
},
firebase: function () {
return {
messages: messageRef
}
},
methods: {
sendData: function () {
messageRef.push(this.message);
this.message = '';
}
}
});

最佳答案

您需要将 messages 属性包含在 firestore 返回函数中作为数据库引用,并将数据返回函数包含为空数组以供数据库绑定(bind)。

var app = new Vue({
el: '#app',
data: function () {
return {
message: '',
messages: []
}
},
firebase: function () {
return {
messages: firebase.database().ref('local/responses')
}
},
methods: {
sendData: function () {
messageRef.push(this.message);
this.message = '';
}
}
});

发生这种情况是因为您尝试将 Firestore 引用绑定(bind)到 Vue 实例中不存在的数据,它需要该空数组才能绑定(bind)到 data 属性。

关于javascript - 无法让 Firebase 数据在简单的 Vue 应用程序上显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51314069/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com