ember:将模型数据复制到另一个

时间:2017-09-29 04:36:51

标签: ember.js ember-data

我有一个基本的订单输入表单,其中包含结算和送货地址字段(均基于'地址'型号)。我有一个复选框,上面写着"结算地址与发货相同?"如果选中,则会将结算地址数据复制到送货地址。

enter image description here

我该怎么做?这对我来说不太明显。我认为当" next"单击按钮,如果" billShipSame" value = 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')
    });
}),

1 个答案:

答案 0 :(得分:1)

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

编辑:

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

shippingAddress.setProperties(billingAddress.getProperties('firstName','lastName')); // etc

相信应该处理你所追求的......