Javascript Vue JS:等待firebase加载

Javascript Vue JS:等待firebase加载,javascript,firebase,vue.js,Javascript,Firebase,Vue.js,我想在Vue JS组件中使用firebase,但似乎firebase对象是在创建组件后加载的 有没有办法在执行JS代码之前等待firebase加载 示例:我想创建一个名为loader的vue组件,它在创建时在webconsole上输出firebase对象 <html> <head> <!-- Firebase --> <script defer src="/__/firebase/5.0.4/firebase-app.js"></s

我想在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>

变量加载器={
模板:“”,
已创建:函数(){
console.log(window.firebase);//未定义
}
};
var app=新的Vue({
el:“#应用程序”,
模板:
`
`,
组成部分:{
“加载器”:加载器
}
});
它不起作用,但是,当然,一秒钟后,我可以在控制台上输出firebase对象

附言:

  • 这是我在这个网站上的第一个问题,所以如果你们对如何提问有任何建议,我也会接受
  • 我是法国人,请原谅我的英语

您需要从firebase脚本中删除属性。一旦解析完整个文档,就会执行脚本,这意味着您在正文中的脚本在firebase脚本之前运行。

在Vue脚本之前加载firebase。我的Vue脚本仅在正文部分的末尾加载,而firebase脚本加载在我的html文件的头部分。Windows.firebase是否设置过?在这个问题上,Vue可能完全不相关。Firebase应该可以在Firebase脚本下面的任何脚本中访问。发布相关代码,这就是你加载firebase的方式。让我花点时间,我将编辑我的帖子以澄清我的示例。这是由那些延迟属性引起的,当前的示例就足够了。如何删除延迟?