Ember.js 余烬:将模型数据复制到另一个

Ember.js 余烬:将模型数据复制到另一个,ember.js,ember-data,Ember.js,Ember Data,我有一个基本的订单输入表单,其中包含账单和发货地址字段(两者都基于“地址”模型)。我有一个复选框,上面写着“账单地址与发货地址相同?”如果选中,将把账单地址数据复制到发货地址 我该怎么做?我不太清楚。我认为,当单击“下一步”按钮时,如果“billShipSame”值=true,则复制数据。但实际上如何复制数据呢?还是我只是在处理这个问题时弄错了 模型如下所示: export default DS.Model.extend(Validations, { type: attr('strin

我有一个基本的订单输入表单,其中包含账单和发货地址字段(两者都基于“地址”模型)。我有一个复选框,上面写着“账单地址与发货地址相同?”如果选中,将把账单地址数据复制到发货地址

我该怎么做?我不太清楚。我认为,当单击“下一步”按钮时,如果“billShipSame”值=true,则复制数据。但实际上如何复制数据呢?还是我只是在处理这个问题时弄错了

模型如下所示:

export default DS.Model.extend(Validations, {
    type: attr('string'),
    firstName: attr('string'),
    lastName: attr('string'),
    address1: attr('string'),
    address2: attr('string'),
    city: attr('string'),
    state: attr('string'),
    country: attr('string'),
    postalCode: attr('string'),
    phone: attr('string')
});
下面是我如何使用它们的精简版本:

billingAddress: computed(function() {
    return this.get('store').createRecord('address', { type: 'billing'});
}),

shippingAddress: computed(function() {
    return this.get('store').createRecord('address', { type: 'shipping'});      
}),

orderModel: computed(function() {
    return this.get('store').createRecord('order', {
        billingAddress: this.get('billingAddress'),
        shippingAddress: this.get('shippingAddress')
    });
}),

我建议您使用“与账单相同”单选按钮触发一个操作,将数据复制到适当的字段中。这样,当有人单击“下一步”时,您的数据模型状态良好,您的提交操作可以专注于保存

编辑:

在两个模型之间复制值的最简单方法如下:

shippingAddress.setProperties(billingAddress.getProperties('firstName','lastName')); // etc
相信这会处理好你想要的东西……

好吧,“与账单相同”默认为是(因为大多数购物者都会这样)。但我的问题是,从一个模型复制到另一个模型的语法是什么?啊,我没有意识到:-)更新了我的答案