0

我有类似的问题除了我使用的是来自这个的聚合物模板。

<firebase-app>我在声明的页面和使用的页面中都导入了所有的 polymerfire 引用<firebase-query>。不工作。

后来我发现模板使用了版本是v0.9.4的polymerfire,而不是最新的v0.10.3。我尝试卸载并重新安装新版本。没有改变。

有关其他信息,以下是代码片段:

src/app-auth/app-auth-firebase.html

<link rel="import" href="../../bower_components/polymerfire/polymerfire.html">
<link rel="import" href="../../bower_components/polymerfire/firebase-app.html">
<link rel="import" href="../../bower_components/polymerfire/firebase-auth.html">
<link rel="import" href="../../bower_components/polymerfire/firebase-query.html">
...
<firebase-app name="pwa-demo" api-key="abc" auth-domain="abc" database-url="abc"></firebase-app>

<firebase-auth id="auth" app-name="pwa-demo" signed-in="{{_signedIn}}" user="{{_user}}"on-error="_onAuthError"></firebase-auth>

src/app-pages/app-page-new-stuff/app-page-new-stuff.html

<link rel="import" href="../../../bower_components/polymerfire/firebase-auth.html">
<link rel="import" href="../../../bower_components/polymerfire/firebase-query.html">
<link rel="import" href="../../../bower_components/polymerfire/polymerfire.html">
...
<firebase-auth user="{{user}}"></firebase-auth>

<firebase-query id="stuffquery" app-name="pwa-demo" path="/users/[[user.uid]]/events" data="{{events}}"> </firebase-query>
...
_onFormSubmit: function() {   
    this.$.stuffquery.ref.push({
        title: this.$.piTitle.value
    });
}

还有什么我想念的吗?请帮忙。

编辑:我发现了另外两件奇怪的事情,这可能会有所帮助。首先,我不能既检索数据又将数据从我的应用程序推送到我的应用程序。其次,当我尝试firebase.database()在浏览器控制台中运行时,我得到了"Firebase: No Firebase App '[DEFAULT]' has been created - call Firebase App.initializeApp() (app/no-app)."

任何人?

4

1 回答 1

2

经过几天的挫折,它起作用了。显然。

TL;博士

我所做的是更新 polymerfire 并name从任何 firebase 元素中省略该属性。

解释

看看这个,firebase 似乎在__computeApp方法中初始化了应用程序,并且 name 是一个可选变量,但如果提供了它,它将在初始化中使用。忽略它,一切都应该没问题。就我而言,它适用于<firebase-app><firebase-auth><firebase-query>(用于推送数据,因为我仍然坚持使用 firebase-query 获取数据

虽然它适用于我的情况,但它可能不一定是正确的解决方案。它可能不适用于您的情况。我花了几天的时间才弄清楚,所以对于那些遇到类似问题的人来说,其中之一可能会有所帮助:

  1. 检查 firebase 查询属性。参考这个
  2. 尝试在声明的同一 html 文件中导入 polymerfire/polymerfire.html <firebase-app>。参考这个
  3. 更新聚合物火。只需卸载并重新安装它就可以解决问题(对于那些使用过时版本的聚合物火的人)
  4. 忽略name任何 firebase 元素的属性。我知道我在浏览器控制台中<firebase-app>输入时已成功初始化firebase.database(),它不再给出错误。

希望能帮助到你。

于 2017-04-02T14:29:06.710 回答