<最終的にやりたいこと>
FireStore上のデータベースに対して検索をかけ、検索結果を一覧で取得したい
<今回のつまずき>
以下のサイトを参考にFireStoreからデータを参照したかったのですが
何もレンダリングされません。
[Firebase] Firestoreで読み書きする (Web編)
Javaコンソールを見ると
TypeError: null is not an object (evaluating 'document.querySelector("#readData").addEventListener')
と表示されており
何故なのでしょうか、原因と対策についてお分かりになる方ご教示いただけますと幸いです。
vue
1<template> 2 <div> 3 <button id="readData" type="button">参照</button> 4 <div id="msg">bbb</div> 5 </div> 6</template> 7 8<script> 9import firebase from '@/plugins/firebase' 10import { firestoreAction } from 'vuexfire' 11 12var db = firebase.firestore(); 13var LIST = []; //ID保管用 14 15export default { 16} 17 18/** 19 * データの参照 20 **/ 21 document.querySelector("#readData").addEventListener("click", ()=>{ 22 db.collection("payments").get().then((querySnapshot) => { 23 var buff = []; 24 var html = "<ul>"; 25 querySnapshot.forEach((doc) => { 26 var data = doc.data(); 27 html += `<li>${doc.id} => ${data.name}, ${data.point}</li>`; 28 buff.push(doc.id); 29 }); 30 html += "</ul>"; 31 LIST = buff; 32 showMessage(html); 33 }) 34 .catch((error)=>{ 35 showMessage(`データの取得に失敗しました (${error})`); 36 }); 37}); 38/** 39 40* 実行結果の表示 41**/ 42function showMessage(str){ 43 var msg = document.querySelector("#msg"); 44 msg.innerHTML = str; 45 msg.style.display = "block"; 46 } 47</script>
plugins/firebase.js
javascript
1import firebase from 'firebase' 2import 'firebase/firestore' 3 4const config = { 5 projectId: process.env.FIREBASE_PROJECT_ID 6} 7 8if (!firebase.apps.length){ 9 firebase.initializeApp(config) 10} 11 12export default firebase