私はPolymerを初めて使用しており、Firebase-documentコンポーネントを使用してユーザーデータを保存しようとしています。ここでPolymerfire TypeError
は、関連するコードスニペットは、次のとおりです。
コンポーネントの初期化:
<firebase-document id="document" app-name="nameoftheapp"
path="[[userDataPath]]" data="{{userData}}">
</firebase-document>
とJavaScript一部:私は、デバッグ機能を呼び出すと
Polymer({
is: 'registration-view',
properties: {
userData: Object,
userDataPath: {
type: String,
notify: true
}
},
debugFunction: function() {
user = this.domHost.user;
this.userDataPath = '/users/' + user.uid;
this.userData.firstName = "fname";
this.userData.lastName = "lname";
console.log(user);
console.log(this.userDataPath);
this.$.document.save(this.userDataPath).then(function() {
console.log("success");
});
},
......
私は
を取得しますUncaught (in promise) TypeError: c[b] is not a function(…).
スタックトレース:
1) debugFunction @ registration-view.html:106
2) save @ firebase-document.html:82
3) (anonymous function) @ firebase-document.html:93
4) c @ firebase-app.js:formatted:939
誤差が最小firebase-app.jsファイルにスローされますので、私はそれとは非常にスマートではないと思います。うまくいけばすべてが適切に設定されています。ユーザー認証はうまく動作し、アプリ名も問題ありません(アプリが初期化されていない場合はエラーがスローされます)。
データベース内のデータを疑似しようとしましたが、firebase-documentはそれらをロードしませんでした。データベースのルールを設定して、権限の問題の可能性を排除するためにデータが公開されるようにしましたが、それは役に立ちませんでした。
{
"rules": {
// ".read": "auth != null",
".read": true,
// ".write": "auth != null"
".write": true
}
}
試み2:
<firebase-document id="document" app-name="doctor-appointment-system" log>
</firebase-document>
Javascriptの一部:
debugFunction: function() {
this.$.document.path = null;
this.$.document.data = {
'firstName': this.$.fninput.value,
'lastName': this.$.lninput.value
};
console.log('users/' + this.domHost.user.uid);
this.$.document.save('users', this.domHost.user.uid);
},
この設定で
私はどのようにデータを保存すると、ここでanother wayを発見したコードです別のエラーが発生しています。ここでは、コンソールからの出力は次のとおりです。
users/Z5uAEYO2S1g2JYClpkk1Vtw130i2
app-storage-behavior.html:350 Setting Firebase value at users/Z5uAEYO2S1g2JYClpkk1Vtw130i2 to Object {firstName: "", lastName: ""}
firebase-database-behavior.html:61 Uncaught (in promise) TypeError: Cannot read property 'ref' of undefined(…)_setFirebaseValue
それはfirebase-データベースbehaviour.htmlに次の行に失敗します。
var result = this.db.ref(path).set(leaf ? value.$val : value);
に構成されたいくつかの問題があるように見えますが、認証が正常に動作しますだから私は無知だ。
私はこの1つに固執しているので、どんな助けにも感謝します。
おかげで、月
私は考えて '' '.SAVE(this.userDataPath)' ''新しい場所のユーザーに、ここで、uは、ユーザーのデータを更新することができない問題がある/ UID/UID/randomkey –
感謝ヒントのために。パスに問題があることは間違いありません。しかし、私がデータを作成している場合(データベースは現在空です)、私はまだランダムキーを持っていませんし、それを解決する方法がわかりません。私はfirebaseがそれ自身の鍵を生成すべきだと思う。だから、私はそれをどうするのですか?ありがとうございます –
https://github.com/firebase/polymerfire/blob/master/firebase-document.html#L81ここでsave()は自動的にuのランダムキーを作成します –