やりたいこと
Vue.jsとFiresotreでアプリケーションを実装しています。
aタグで画面遷移する前にFirestoreにデータを登録したく、以下のように実装しています。
html
1<a @click="addData" v-bind:href="path">リンク</a>
Vuejs
1 methods: { 2 addData: function() { 3 4 const dataRef = db.collection('data'); 5 6 console.log("debug1"); 7 8 dataRef.add({ 9 value: this.value, 10 createdAt: new Date() 11 }); 12 13 console.log("debug2"); 14 15 } 16 }
しかし、画面遷移後にFirestoreのコンソールを確認してもデータが登録されていません。
確認したこと
- console.logでコンソールに"debug1"と"debug2"が出力されていることは確認できました。
メソッド自体は呼び出されて最後まで実行されているようです。
- @clickにpreventを付与した場合、画面遷移しないためか、データも登録されていることを確認できました。
登録処理自体に間違いはないようです。
質問
firestoreのaddは非同期でされてると思いますが、登録が終わるまで遷移を待つ必要があるのでしょうか。
他に実現方法はあるでしょうか。
ご回答、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/03/16 11:04