1

我是 Backbone 的完全菜鸟,我现在才学习了大约 8 个小时,如果这个问题看起来很基础,很抱歉。文档对此不是很清楚。

有问题的模型Product需要运行大量的 Ajax 调用。在我的模型逻辑中,我需要根据特定条件在模型验证中运行至少 2 个 Ajax 调用。

不仅如此,当某些字段发生更改时,我还需要运行 Ajax 调用,因为每个字段都会触发其自己的更改字段,该字段从上次更改中冒泡,即:

  • A 价格变动
  • 模型通过服务器调用重新计算产品价格
  • 同时从价格变化中触发模型的供应商变量的变化
  • 供应商变更必须在价格变更后进行 Ajax 调用。

所以我需要知道的是:基本上我应该如何将所有的 Ajax 调用转换为 Backbone?这里最好的方法是什么?

4

1 回答 1

0

我将用我的发现和解决方案来回答这个问题。

因此,我已经完成了与所有 Ajax 调用的主干集成。我解决这个问题的方法是使用 jQuery 的 promise API 从模型函数中返回一个延迟对象,该对象可用于链接。然后我在我的界面中以链式方式使用了这个函数。

为了更好地解释这里是一个例子:-想象我在一个类中有两个函数Product;一个叫populateRecord另一个set_price。每个都进行自己的 Ajax 调用和处理。

在视图中ProductView,我将包含一个名为的函数,该函数edit将处理如何以及何时调用这两个模型函数的逻辑,如下所示:

this.model.populateRecord().then(function(data){ return $this.model.set_price(data) })

将其“业务”方面放入视图中的方法效果很好并且解决了许多问题。

希望这对其他人有帮助,

于 2013-04-17T08:29:26.550 回答