2

我正在尝试将数据保存到 firebase 数据库中,但总是遇到 TypeError。似乎无法找到问题所在。这是我的<template>代码:

<firebase-auth
    id="auth"
    app-name="notes"
    provider="google"
    signed-in="{{signedIn}}"
    user="{{user}}">
</firebase-auth>

<firebase-document
    id="document"
    app-name="notes"
    path="[[editableNoteId]]"
    data="{{editableNote}}">
</firebase-document>

<na-editor
    id="editor"
    note="{{editableNote}}"
    on-close="commitChange">
</na-editor>

脚本:

<script>
  Polymer({
    is: 'note-app',

    behaviors: [Polymer.NoteAppBehavior],

    signIn: function() {
      this.$.auth.signInWithPopup();
    },

    get notesPath() {
      return '/notes/' + this.user.uid;
    },

    toEditableId: function(noteId) {
      return this.notesPath + '/' + noteId;
    }
  });
</script>

这是错误:

TypeError: this.$.document.save is not a function. (In 'this.$.document.save(this.notesPath)', 'this.$.document.save' is undefined)

注意: app-name 和 firebase-app 已正确定义。

4

2 回答 2

3

在版本0.11.0中,该save()方法被重命名以saveValue()保持与某些 JS 编译器和旧浏览器的兼容性。有关详细信息,请参阅发行说明

文档现在也显示了更新,但当您查看它们时可能没有。

于 2017-04-17T22:29:19.630 回答
1

将此添加到脚本中解决了该问题。

save: function() {      
    this.$.document.saveValue();
},
于 2017-04-18T17:26:24.617 回答