通过聚合火力/火力点查询元素将数据推送到Firebase
问题描述:
我有点卡住,试图使用聚合物火力聚合物元素将数据按需推送到Firebase数据库。我在DOM元素内部有一个数据绑定,它对于已经存在的寄存器来说是完美无瑕的。我真正的问题是如何创建具有唯一ID的新寄存器?通过聚合火力/火力点查询元素将数据推送到Firebase
如果我修改的模板有一个铁的输入和2个数据绑定,此更新放心的寄存器和火力地堡没有问题。
<template is="dom-repeat" items="{{data}}">
<div class="card">
<input is="iron-input" bind-value="{{item.text}}">
</div>
</template>
真正棘手的部分是如何把一个新的对象(消息)火力地堡一个唯一的ID,像"lasdjlkadj1978kld"
?
//firebase estructure
{
"uid" : {
"messages" : {
"message1" : {
"message" : "some text",
"timestamp" : "some date"
},
"message2" : {
"message" : "some text",
"timestamp" : "some date"
}
...
...
}
}
}
我试图通过更新JS,但其仅在本地修改的“数据”对象......
答
我不知道我正确理解你的问题。
如何创建具有唯一ID的新寄存器?
您可以使用firebase-document
提供save
方法需要2个参数parentPath和密钥(刚刚离开的关键)。
<firebase-document id='document'
data='{{data}}'>
</firebase-document>
<script>
Polymer({
saveMessage: function() {
// path = /<uid>/messages in your case
this.$.document.save(path).then(function() {
// after document saved, path will be changed to the new ref
// any change of data will sent back up and stored
});
}
});
</script>
我曾试图通过JS,但在更新 “数据” 对象,其唯一的修改 本地...
你如何更新data
,你使用this.set
?
即时通讯不知道如何使用firebase-document元素,文档并没有多大用处,你能分享一个例子吗? – RoO
我认为这[codelab](https://codelabs.developers.google.com/codelabs/polymer-firebase-pwa/index.html?index=..%2F..%2Findex#0)是一个很好的开始(并参见他们的[行为](https://github.com/PolymerLabs/note-app/blob/master/common/note-app/na-behavior.html))。我已经更新了我的答案,希望有所帮助。 –
太棒了! '。这个。$。document.save(path).then'就像预期的那样工作....谢谢... – RoO