我有一个应用程序,其中菜单系统是使用启动时获取的元数据动态构建的。根据这些数据和菜单选择,我需要制作一个“过滤盒”,用户可以在其中输入搜索条件。 “主”视图包含一个过滤器框和一个搜索结果面板,其中结果根据其类别进行呈现。
我可以将Filter Box建模为Backbone.js模型吗?它没有从后端获取任何数据,因为它的组成完全取决于菜单选择+元数据?例如。当用户选择“销售”菜单时,过滤器框可能会提示“销售订单号”,而当用户选择“材料”时,过滤器框可能会提示其他内容。
然后我会将此小部件用作“主”视图的组件,以及一组动态构建的结果视图。当用户进行菜单选择时,此主视图将取消渲染现有的过滤器框并重新计算并重新渲染新的过滤器框。屏幕上的其他组件可以查询过滤器框的设置。
到目前为止我看到的示例总是有一个url和一个服务器提取,保存等。教程页面上唯一没有网址的例子说它是一个“人为的”例子。我想知道是否需要一个后端提供程序,并且编程将充满陷阱而不符合此要求。
感谢。
答案 0 :(得分:2)
您可以定义没有url
属性的模型。 Backbone的一个构建块是Sync
对象,它可以在拉动和推送数据时帮助您,最好是从/到REST端点。为此,您需要告知数据的提供位置,并在模型或集合中将值设置为url
。
如果您不需要服务器通信但只想使用简单模型或集合提供的实用程序(例如事件处理,过滤等等),您只需设置url
即可很方便(请记住,fetch
或save
等方法不起作用。)
答案 1 :(得分:1)
是的,您也可以将Backbone用于DOM逻辑。模型不需要表示来自服务器的数据。使用Backbone的一些基本元素做任何你喜欢的事情,只要你觉得它做得很好就可以使用它们。)