javascript - 清除单页应用程序中 View 中的所有项目

标签 javascript backbone.js single-page-application

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

问题:在从数据库重新加载新项目之前清除屏幕上已有的所有 View 的一般策略是什么?

请注意,在 Backbone TodoMVC 应用程序中,策略是简单地使用 css 可见/隐藏在不同状态之间切换,但如果应用程序由包含大量项目的数据库支持并且最初仅显示 30 个,则这是行不通的。

最佳答案

如果您还想删除事件,则需要取消委托(delegate)事件,就好像您没有这样做并且创建了新的主干 View 一样,旧 View 仍将监听操作,并且如果您有点击回调,则旧 View 将继续监听操作。新旧都被触发

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

关于javascript - 清除单页应用程序中 View 中的所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29800534/

相关文章:

javascript - node_modules/rxjs-compat/operator/shareReplay.d.ts(2,10) : 中出现错误

javascript - 当动画父幻灯片移入视口(viewport)时,如何为嵌套内容设置动画,而不是使用滚动

javascript - 如何触发动态分配的 DOM 事件以及 Backbone 事件?

javascript - 在获取之后和触发更改事件之前更改 Backbone 数据

javascript - 这种模式适合相当小的 JS 应用程序吗?

angularjs - 使用抽象状态的目的是什么?

javascript - 更改输入类型 ="file"的 innerHTML 会导致未捕获类型错误?

javascript - 如何在异步查询中显示加载窗口?(或者可能是同步的)

javascript - onMouseover 在 Firefox 中不起作用

javascript - Backbone.js 在 Firefox 中选择更改事件