Data binding 聚合物1.x:与Firebase的深度链接数据绑定
我想通过Data binding 聚合物1.x:与Firebase的深度链接数据绑定,data-binding,firebase,polymer,polymer-1.0,firebase-polymer,Data Binding,Firebase,Polymer,Polymer 1.0,Firebase Polymer,我想通过Firebase文档元素将设置对象数据绑定到我的Firebase中的深度链接,如下所示: my-element.html <firebase-document location="<my-firebase>/users/uid/settings" data="{{settings}}"</firebase-document> ... <paper-input label="Name" value="{{settin
Firebase文档
元素将设置
对象数据绑定到我的Firebase中的深度链接,如下所示:
my-element.html
<firebase-document location="<my-firebase>/users/uid/settings"
data="{{settings}}"</firebase-document>
...
<paper-input label="Name" value="{{settings.name}}"></paper-input>
<paper-input label="Email" value="{{settings.email}}"></paper-input>
...
settings: {
type: Object,
notify: true,
value: {},
...
<firebase-document location="https://my-firebase.firebaseio.com/settings"
data="{{settings}}" on-firebase-value="_firebaseLoaded"></firebase-document>
...
<paper-input label="Name" value="{{settings.name}}"></paper-input>
...
settings: {
type: Object,
notify: true,
value: {},
}
...
_firebaseLoaded: function() {
if(!this.settings) {
this.set('settings', {});
}
},
操作代码仅用于编辑现有记录。在端点处创建新记录不起作用(例如,在本例中为/settings
)
为此,必须在Firebase端点不存在初始值时添加初始值,如下所示:
使用firebase value=“\u firebaseLoaded”
上的测试是否存在初始firebase值
如果没有,(有条件地)在\u firebaseload
方法中添加一个
my-element.html
<firebase-document location="<my-firebase>/users/uid/settings"
data="{{settings}}"</firebase-document>
...
<paper-input label="Name" value="{{settings.name}}"></paper-input>
<paper-input label="Email" value="{{settings.email}}"></paper-input>
...
settings: {
type: Object,
notify: true,
value: {},
...
<firebase-document location="https://my-firebase.firebaseio.com/settings"
data="{{settings}}" on-firebase-value="_firebaseLoaded"></firebase-document>
...
<paper-input label="Name" value="{{settings.name}}"></paper-input>
...
settings: {
type: Object,
notify: true,
value: {},
}
...
_firebaseLoaded: function() {
if(!this.settings) {
this.set('settings', {});
}
},
...
...
设置:{
类型:对象,
通知:正确,
值:{},
}
...
_firebaseLoaded:函数(){
如果(!this.settings){
this.set('settings',{});
}
},