[英]Vue JS : Wait firebase to load
我想在Vue JS組件中使用firebase,但是好像在創建我的組件之后加載了firebase對象。
有沒有辦法在執行JS代碼之前等待Firebase加載?
例:我想創建一個名為loader的vue作詞器,在創建時將其輸出到webconsole上的firebase對象
<html>
<head>
<!-- Firebase -->
<script defer src="/__/firebase/5.0.4/firebase-app.js"></script>
<!-- include only the Firebase features as you need -->
<script defer src="/__/firebase/5.0.4/firebase-auth.js"></script>
<script defer src="/__/firebase/5.0.4/firebase-database.js"></script>
<script defer src="/__/firebase/5.0.4/firebase-messaging.js"></script>
<script defer src="/__/firebase/5.0.4/firebase-storage.js"></script>
<!-- initialize the SDK after all desired features are loaded -->
<script defer src="/__/firebase/init.js"></script>
<!-- Vue.js-->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>
</head>
<body>
<div id="app"></div>
<script>
var loader = {
template: '<div></div>',
created: function(){
console.log(window.firebase); // undefined
}
};
var app = new Vue({
el : '#app',
template :
`<div>
<loader></loader>
</div>`,
components : {
'loader' : loader
}
});
</script>
</body>
</html>
它不起作用,但是,當然,一秒鍾后,我可以在控制台上輸出firebase對象。
PS:
您需要從Firebase腳本中刪除defer屬性。 一旦解析了整個文檔,這將導致腳本執行,這意味着您體內的腳本將在firebase腳本之前運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.