前提・実現したいこと
inputで入力した文字をfirebaseに保存し、それを取得して画面上に表示させたい
発生している問題・エラーメッセージ
エラーメッセージはありませんでした
該当のソースコード
vue.js
1<template> 2 <div class="app"> 3 <input v-model="text" type="text" class="text-input" /> 4 <button v-on:click="postTweet">ツイート</button> 5 <div> 6 <p v-for="tweet in tweets" v-bind:key="tweet.id">{{ text }}:{{ time }}</p> 7 </div> 8 </div> 9</template> 10 11<script> 12import firebase from "firebase" 13 14export default { 15 data() { 16 return { 17 text: "", 18 time: new Date(), 19 tweets: [], 20 } 21 }, 22 methods: { 23 postTweet() { 24 firebase 25 .firestore() 26 .collection("tweets") 27 .add({ ツイート: this.text, 日時: new Date() }) 28 }, 29 }, 30 31 created() { 32 firebase 33 .firestore() 34 .collection("tweets") 35 .get() 36 .then((snapshot) => { 37 snapshot.docs.forEach((doc) => { 38 this.tweets.push({ 39 id: doc.id, 40 ...doc.data(), 41 }) 42 }) 43 }) 44 }, 45} 46</script> 47
試したこと
collectionにaddしたものを取得して配列に受け渡そうとしているのですが、うまく実装できてない状態です。どうかご教授ください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー