我正在尝试运行一个简单的 Vue+Firebase 应用程序,它允许您将字符串发送到 firebase 数据库并使用“v-for”指令显示消息。但是,我不断收到错误
Property or method "messages" is not defined on the instance but referenced during render
尽管我很确定我使用了基于 Vue 在他们网站上的示例和 Vuefire github 页面链接messages
到数据库的正确语法。我可以很好地推送到数据库,但由于某种原因,我无法从数据库中读取数据。我已经无法让它工作大约一天,在这一点上,任何帮助表示赞赏。
这是我的参考代码:
索引.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>
应用程序.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 = '';
}
}
});