在单页应用

时间:2015-04-22 14:21:01

标签: javascript backbone.js single-page-application

我有一个由数据库支持的单页应用程序(用Backbone编写),其中默认(暂时)是列出一定数量的项目,但是,我希望提供按日期排序的选项或某些其他标准。因此,我需要能够清除屏幕上的所有项目并查询数据库以查找符合条件的项目。

问题:在从db重新加载新项目之前清除屏幕上所有视图的一般策略是什么?

注意,在Backbone TodoMVC应用程序中,策略是简单地使用css visible / hidden来在不同状态之间切换,但如果应用程序由具有大量项目的数据库支持并且最初只显示30个,则这是行不通的。

2 个答案:

答案 0 :(得分:1)

如果您正在使用jquery,则可以使用其ID清除div的内容

$("#divID").empty();

然后为从db

中检索的每个条目附加某种子元素
$("#divID" ).append("<p>Element #1</p>");

答案 1 :(得分:1)

如果你想要删除事件,你需要取消事件,就好像你没有这样做,并且你创建了一个新的Backbone视图,旧视图仍然会听取操作,如果你有一个点击新旧回复将被触发

destroy:=>
  @.undelegateEvents() 
  @$(el).empty()