ChaplinJS。组织视图和控制器之间的交互

时间:2013-06-05 09:04:12

标签: javascript backbone.js chaplinjs

有一个带有动作“list”的控制器(ObjectController)。 Controller创建并加载集合,创建视图,ObjectsPageView并渲染它。 ObjectsPageView由3个子视图组成:ObjectListView,SearchFormView和PaginationView。我不知道如何组织视图和控制器之间的交互。 现在我只有两个选项:

  1. 为PaginationView中的链接添加参数“page”。然后,当您单击页面链接时,布局将使用新参数重定向到ObjectController。在SearchFormView监听提交事件中,在提交时,SearchFormView本身将使用新参数重定向到ObjectController。
  2. 在PaginationView和SearchFormView中触发自定义事件(paginationLinkClicked,searchFormSubmitted)并在控制器中监听它们。事件发生时,将重新更新当前URL,重新加载集合和视图。
  3. 哪个选项更好?有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

第二个选项是最好的,但是您应该只有一个视图(ObjectListView),分页和搜索是在控制器上定义的动作,在该动作中调用API,使用特定参数提供数据(JSON)然后使用新模型

渲染ObjectListView

我希望更清楚。