我是Backbone的完整菜鸟,我现在只学习了大约8个小时,很抱歉,如果这个问题看起来很基本。文档在这方面不是很清楚。
有问题的模型Product
需要运行大量的Ajax调用。在我的模型的逻辑中,我需要在模型的验证中运行至少2个Ajax调用,具体取决于某些条件。
不仅如此,但是当某些字段发生变化时,我还需要运行Ajax调用,因为每个字段都触发了自己的变更字段,从最后一次更改中冒出来,即:
所以我需要知道的是:基本上我应该如何将所有Ajax调用转换为Backbone?这里最好的方法是什么?
答案 0 :(得分:0)
我将用我的发现和解决方案回答这个问题。
所以我完成了与所有Ajax调用的骨干集成。我解决这个问题的方法是使用jQuery的promise API从模型函数中返回一个可用于链接的延迟对象。然后我在我的界面中以链式方式使用了这些函数。
为了更好地解释这里是一个例子: - 想象我在Product
类中有两个函数;一个名为populateRecord
,另一个名为set_price
。每个人都进行自己的Ajax调用和处理。
在视图ProductView
中,我将包含一个名为edit
的函数,该函数将处理如何以及何时调用这两个模型函数的逻辑:
this.model.populateRecord().then(function(data){ return $this.model.set_price(data) })
将“业务”方面纳入视图的方法运作良好,解决了许多问题。
希望这有助于其他人,