【发布时间】:2013-02-22 04:43:25
【问题描述】:
我将_model 传递给我的ProcessModel 函数,然后在我的ProcessModel 函数中,它会将模型保存到服务器,从而触发sync 事件。我想做的是在我的sync 回调访问_model 中,因为CartView 正在侦听来自我的_model 的添加或更改事件。我说的有道理吗?
var _cartItem = this.ConvertToSaleItem(item);
_cartItem.on('sync', this.TaxChangeSaveSuccess, this);
_cartItem.on('error', this.TaxChangeSaveError, this);
_cartItem.url = Global.ServiceUrl + Service.SOP + Method.SALEITEMTAX;
_cartItem.save();
我的回调:
TaxChangeSaveSuccess : function(model, response, options) {
if(!Global.isBrowserMode) window.plugins.cbNetworkActivity.HideIndicator();
item.set({
SalesTaxAmountRate : model.get("SalesTaxAmountRate")
});
},
但项目未定义。关于如何做的任何想法?我的视图需要相同的模型来捕获从我的模型(即项目)触发的任何事件。
【问题讨论】:
-
item 变量在更高的范围内可用吗?
-
不。我尝试让 item 变量在更高的范围内可用,但它仍然不会触发我的视图正在监听的任何事件。
-
this.TaxChangeSaveSuccess是你视图中的这段代码,因为这可以做到initialize:function(){ this.model.on("sync",callback,context); }
标签: backbone.js