J'ai un formulaire de saisie de commande de base avec des champs d'adresse de facturation et d'expédition (tous deux basés sur un modèle 'adresse'). J'ai une case à cocher qui dit "adresse de facturation même que l'expédition?" Lorsque cette case est cochée, les données d'adresse de facturation sont copiées dans l'adresse de livraison.ember: copier les données du modèle dans un autre
Comment puis-je faire cela? Ce n'est pas tout à fait évident pour moi. Je pense que lorsque le bouton "suivant" est cliqué, si la valeur "billShipSame" = true alors copiez les données. Mais comment copiez-vous réellement les données? Ou suis-je juste d'aborder ce problème mal?
Le modèle ressemble:
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')
});
Et voici une version allégée de la façon dont je les utiliser:
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')
});
}),
Eh bien, les paramètres par défaut « même que la facturation » à oui (parce que ce sera le cas pour la plupart des consommateurs). Mais ma question est, littéralement, quelle est la syntaxe pour copier les données d'un modèle à l'autre? – tarponjargon
Ah, je ne savais pas que :-) Mis à jour ma réponse – acorncom