javascript - Javascript - 在Promise.then()中,jQuery函數不可用

下面是index.html的一部分,評論數據從Firebase下載,並通過庫顯示在前端。

Uncaught (in promise) TypeError : $(...).comments is not a function

為什麼發生這種情況? jquery函數如何正確地使用Firebase中的數據?

第一個代碼


<script>


window.onload = () => {


 $("body").comments({


 profilePictureURL: 'sample-icon.png',


 getComments: (success, error) => {


 var commentsArray = [{


 ...


 }];


 success(commentsArray);


 }


 });


 const db = firebase.firestore()


 db.collection("projects").get().then(querySnapshot => {


 ...


 })


}


</script>



第二碼


<script>


window.onload = () => {


 const db = firebase.firestore()


 db.collection("projects").get().then(querySnapshot => {


 $("body").comments({


 profilePictureURL: 'sample-icon.png',


 getComments: (success, error) => {


 var commentsArray = [{


 ...


 }];


 success(commentsArray);


 }


 });


 })


}


</script>



這是我網站文件結構的一部分


/public <--- Hosting on Firebase


 index.html


 /forum


 index.html <--- the index.html shown in the question above


 /css


 jquery-comment.css <--- from the jQuery library


 /js


 jquery-comment.js <--- from the jQuery library




时间: 原作者:


<script>


window.onload = () => {


 const db = firebase.firestore()


 // use a closure


 const jq = $;


 db.collection("projects").get().then(querySnapshot => {


 jq("body").comments({


 profilePictureURL: 'sample-icon.png',


 getComments: (success, error) => {


 var commentsArray = [{


 ...


 }];


 success(commentsArray);


 }


 });


 })


}


</script>

原作者:
...