繁体   English   中英

Ember.js与EmberFire对象-如何与数组属性一起使用?

[英]Ember.js with EmberFire Object - How to use with array attributes?

我读了很多,仍然不能自己解决。 我有一个Ember Route ,带有z EmberFire model

App.NewRoute = Ember.Route.extend({
model: function() {
    return EmberFire.Object.create({
        ref: window.ref
    });
},
setupController: function(controller, model) {
    controller.set('model', model);
})

例如,之后,我进入了控制器:

App.NewController = Ember.Controller.extend({
actions: {
    save: function() {
        this.get('model').set('questions', Ember.A([]));
        this.get('model').get('questions').pushObject(Ember.Object.create({title: 'foo'}));
        this.get('model').get('questions').get('lastObject').set('title', 'bar');

        this.get('model').set('title', 'foobar');
    }
}
});

当调用保存操作时,仅在标题基础上进行更改。

有人可以解释一下如何更改阵列吗?

我会将您的模型从EmberFire.Object.create更改为EmberFire.Array.create 而不是将带有数组的对象作为属性。 EmberFire是一个简单的包装,桥梁烬对象firebase对象。 我刚开始使用库时,我认为它不适用于对象内的嵌套数组。

如果您需要在对象中为该数组标识一个属性,请创建第二个对象EmberFire.Object并添加引用此EmberFire.Array firebase对象的属性问题。

因此,您的保存操作将如下所示:

var array = this.get('model');  
array.pushObject(Ember.Object.create({title: 'foo'}));  
array.get('lastObject').set('title', 'bar');  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM