3

我有一个应用程序,其中菜单系统是使用启动时获取的元数据动态构建的。基于这些数据和菜单选择,我需要制作一个“过滤框”,用户可以在其中输入搜索条件。“主”视图由一个过滤器框和一个搜索结果面板组成,其中根据其类别呈现结果。

我可以将过滤器框建模为 Backbone.js 模型吗?它没有从后端获取任何数据,因为它的组成完全取决于菜单选择+元数据?例如,当用户选择“销售”菜单时,过滤框可能会提示输入“销售订单号”,而当用户选择“材料”时,过滤框可能会提示输入其他内容。

然后,我将使用这个小部件作为“主”视图的组件,以及一组动态组成的结果视图。当用户进行菜单选择时,这个主视图将取消渲染现有的过滤器框,并重新计算并重新渲染一个新的过滤器框。屏幕上的其他组件可以查询过滤器框的设置。

到目前为止,我看到的示例总是有一个 url 和一个服务器获取、保存等。教程页面上唯一没有 url 的示例说它是一个“人为的”示例。我想知道是否需要后端提供程序,并且在不符合此要求的情况下,编程将充满陷阱。

谢谢。

4

2 回答 2

2

您可以拥有没有url定义属性的模型。Backbone 的构建块之一是Sync对象,它将在您拉取和推送数据时帮助您,最好是从/向 REST 端点。为此,您需要告知数据的提供位置,并为此设置url模型或集合的值。

如果您不需要服务器通信,但您只想使用简单模型或集合提供的实用程序(例如事件处理、过滤等),您只需不设置url,您就可以使用(只需保留请注意方法喜欢fetchsave不起作用)。

于 2013-06-03T14:53:05.037 回答
1

是的,您也可以将 Backbone 用于您的 DOM 逻辑。模型不需要表示来自服务器的数据。用 Backbone 的几个基本元素做任何你喜欢的事情,当你觉得它做得很好时,只需使用它们 :)

于 2013-06-02T23:10:17.133 回答