使用Polymer'的火球收集
update Firebase data using Polymer's firebase-collection
我正在使用firebase集合元素从Polymer应用程序中的firebase存储库中获取对象数组。数据获取没有问题。既然我有了对象,如何更新其中一个对象的子属性?
<firebase-collection
id="myfb"
location="https://dinosaur-facts.firebaseio.com/dinosaurs"
data="{{dinosaurs}}">
</firebase-collection>
<template is="dom-repeat" items="[[dinosaurs]]" as="dinosaur">
<h4>[[dinosaur.__firebaseKey__]]</h4>
Height: <span>[[dinosaur.height]]</span>
<iron-icon on-click="updateDino"></iron-icon>
</template>
为简洁起见,省略了聚合物样板。。。
updateDino: function(e) {
var key = e.model.dinosaur.__firebaseKey__;
// now what?
// tried this: e.model.dinosaur.height = 3.1415
// but firebase doesn't save the change.
// also tried various things with this.$.myfb.add but
// it always creates a new element
// where's the set() method on firebase-collection?
// something like this.$.myfb.set(key, updatedObj) would be handy.
}
您可以使用firebase文档来更新数据,它可以映射到firebase上的一个位置,比如:
<firebase-document
location="https://dinosaur-facts.firebaseio.com/dinosaurs"
data="{{dinosaurs}}"></firebase-document>
A是对Firebase上某个远程文档的引用。元素在提供的位置获取文档,并将其公开为适用于深度双向数据绑定的Object。
https://elements.polymer-project.org/elements/firebase-element?active=firebase-文档
正如Alan在评论中指出的,这与firebase集合一起工作:
e.model.set('dinosaur.height', 'new value to be set')
此外,items=[[恐龙]]的单向数据绑定被更改为items={{恐龙}}中的双向绑定。我没想到这会影响firebase耦合,但它解决了问题。
相关文章:
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 可以't使用Polymer's的核心ajax
- 在具有命名作用域的自定义Polymer元素中隐藏表行
- 当组件准备就绪时,如何在Polymer中动态注册新属性
- 访问函数内部的Polymer方法
- window.scrollTo()与Polymer Project核心滚动标题面板断开
- 如何通过“;函数指针“/事件转换为Polymer/HTML中的子元素
- 如何将函数对象从javascript传递到Polymer元素
- 在Polymer中使用核心ajax时出现CORS错误
- JavaScript HTMLElement 属性上的数据绑定 在 Polymer 中
- 是否可以在 Polymer 中的
节点上使用自定义属性以获得漂亮的 API - 如何独立使用Polymer TemplateBinding库
- 使用Polymer'的火球收集
- 如何在更改的事件处理程序中忽略Polymer元素上默认属性的初始覆盖
- dart2js编译的Polymer Dart应用程序未在IE 11中运行
- 在Polymer中,双向绑定与属性表达式是否可能
- Polymer 1.0:管理简单项目列表的最佳实践
- 如何在自定义Polymer元素上调整绘图html5画布的大小
- 在Polymer中使用会话存储web中的数据
- 访问嵌套Polymer自定义元素中的JavaScript方法