0

コレクション内の個別のイベントをリッスンする 2 つのビューがあります。

this.cartCollection.on('quantityAdded', this.QuantityAdded, this);          
this.cartCollection.on('quantitySubtracted', this.QuantitySubtracted, this);
this.cartCollection.on('salesPriceRateUpdated', this.UpdateCartItemPrice, this);
this.cartCollection.on('unitMeasureUpdated', this.ChangeItemPriceOnUnitMeasure, this);
this.cartCollection.on('warehouseCodeUpdated',this.ChangeItemPriceOnWarehouseCode,this)
this.cartCollection.on('quantityOrderedUpdated', this.UpdateCartItem, this);
this.cartCollection.on('quantityDefectiveUpdated', this.UpdateCartItem, this);
this.cartCollection.on('discountUpdated', this.UpdateCartItem, this);       
this.cartCollection.on('discountAppliedToAll', this.ApplyDiscountToAll, this);

this.cartCollection.on('clearedTransaction', this.VoidTransactionWithValidation, this)

maintemplate.js で私はこれを持っています

this.collection.bind("add", this.ModelAdded, this);         
this.collection.bind("change", this.ModelChanged, this);
this.collection.bind("viewDetails", this.ShowItemDetails, this);
this.collection.bind("viewFreeStock", this.ShowFreeStock, this);
this.collection.bind("viewAccessory", this.ShowAccessory, this);
this.collection.bind("viewSubstitute", this.ShowSubstitute, this);
this.collection.bind("itemRemoved", this.RemoveItem, this);
this.collection.bind("reset", this.ReinitializeCart, this);

しかし、私のテンプレートでは、これらのイベントはコレクションにリンクされているモデルからのものです。発動後this.cartCollection.on('salesPriceRateUpdated', this.UpdateCartItemPrice, this);

コレクションを更新してから、 this.UpdateCartItemPriceをトリガーしたときにthis.cartCollection.reset更新されたモデルを渡すと、イベントがキャッチされなくなります。私はまだ同じ結果を追加しようとしました。this.cartCollection.add(data)salesPriceRateUpdated maintemplate{merge:true}

イベントバインディングを適切に保持する方法について何かアイデアはありますか? ありがとう

4

0 に答える 0