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

ember: copy model data to another

我有一个基本的订单输入表单,其中包含账单和送货地址字段(均基于 'address' 模型)。我有一个显示 "Billing address same as shipping?" 的复选框,选中后会将账单地址数据复制到送货地址。

我该怎么做?这对我来说不是很明显。我在想当 "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')
    });
}),

我建议您 "same as billing" 单选按钮触发将数据复制到适当字段的操作。这样,当有人点击下一步时,您的数据模型就处于良好状态并且您的提交操作可以专注于保存

编辑:

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

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

相信应该可以处理您想要的...