請求先住所と配送先住所のフィールドを含むフォームを作成しています。ユーザーが「同じ住所」をチェックした場合、請求先住所と配送先住所の間にバインドを作成したい; ボックスがチェックされていない場合、そのバインディングを切断したい。
HTML:
{{#with billingAddress}}
{{view Ember.TextField valueBinding="firstName"}}
{{view Ember.TextField valueBinding="lastName"}}
{{/with}}
{{view Ember.Checkbox checkedBinding="view.isSameAddress"}}
{{#with shippingAddress}}
{{view Ember.TextField valueBinding="firstName"}}
{{view Ember.TextField valueBinding="lastName"}}
{{/with}}
JavaScript:
App.AddressesRoute = Ember.Route.extend({
model: function() {
return {
billingAddress: Checkout.BillingAddress,
shippingAddress: Checkout.ShippingAddress
};
}
});
App.AddressesView = Ember.View.extend({
isSameAddress: false,
useSameAddress: function() {
if (this.isSameAddress) {
// bind billing and shipping addresses
} else {
// remove binding
}
}.observes('isSameAddress')
});
App.Address = Ember.Object.extend({
firstName: null,
lastName: null
});
App.Billing = App.Address.create({
firstName: 'John',
lastName: 'Doe'
});
App.Shipping = App.Address.create({
firstName: '',
lastName: ''
});
私はEmber.Binding
、運のない他の多くの方法と同様に、を使用してみました。送料を請求として設定できましたが、拘束力がなく、テンプレートが更新されません。
正しい方向への助けやナッジをいただければ幸いです。