在不需要时处置模型/View实例的最有效方法是什么?通常,我将所有逻辑放在Controller/路由器中。它是决定应该创建哪些View以及应该向它们提供哪些模型的人。通常,有几个处理函数,对应于不同的用户操作或路由,每次执行处理程序时,我都会在其中创建新的View实例。当然,这应该消除我之前存储在View实例中的任何内容。然而,在某些情况下,某些View保留DOM事件处理程序本身,并且它们没有正确解除绑定(bind),这会导致这些实例保持事件状态。我希望是否有一种适当的方法来销毁View实例,例如当它们的el(DOM表示)被分离或从DOM中抛出时 最佳答案
我已经使用knockout.js几个月了,发现每天使用它都是一种乐趣。不必在dom上管理状态或应用您自己的自定义绑定(bind)所带来的好处是令人难以置信的,而且我不介意没有开箱即用的模型功能。但每次我读到knockout.js与其他框架的对比时,大家的共识似乎是它很棒,它总体上减少了代码和复杂性,但它更适合小型项目。这个声明总是作为事实给出,没有太多解释,所以我对共识似乎是什么感到困惑。(公平地说,我还没有使用过Backbone,所以不知道它们之间的比较)我已经在两个相当大的项目中使用过它,每个项目都有大约十几个模型和十几个View模型,并且没有发现任何问题。在大型项目中,我可以看到
我已经使用knockout.js几个月了,发现每天使用它都是一种乐趣。不必在dom上管理状态或应用您自己的自定义绑定(bind)所带来的好处是令人难以置信的,而且我不介意没有开箱即用的模型功能。但每次我读到knockout.js与其他框架的对比时,大家的共识似乎是它很棒,它总体上减少了代码和复杂性,但它更适合小型项目。这个声明总是作为事实给出,没有太多解释,所以我对共识似乎是什么感到困惑。(公平地说,我还没有使用过Backbone,所以不知道它们之间的比较)我已经在两个相当大的项目中使用过它,每个项目都有大约十几个模型和十几个View模型,并且没有发现任何问题。在大型项目中,我可以看到
当我覆盖Backbone.Model的clone()方法时,有没有办法从我的植入中调用这个覆盖的方法?像这样:varMyModel=Backbone.Model.extend({clone:function(){super.clone();//callingtheoriginalclonemethod}}) 最佳答案 你会想要使用:Backbone.Model.prototype.clone.call(this);这将使用this(当前模型)的上下文从Backbone.Model调用原始的clone()方法。来自Backbonedo
当我覆盖Backbone.Model的clone()方法时,有没有办法从我的植入中调用这个覆盖的方法?像这样:varMyModel=Backbone.Model.extend({clone:function(){super.clone();//callingtheoriginalclonemethod}}) 最佳答案 你会想要使用:Backbone.Model.prototype.clone.call(this);这将使用this(当前模型)的上下文从Backbone.Model调用原始的clone()方法。来自Backbonedo
我正在尝试了解Backbone.js同步方法,并且正在阅读有关文档http://backbonejs.org/#Sync它说ThedefaultsynchandlermapsCRUDtoRESTlikeso:create→POST/collectionread→GET/collection[/id]update→PUT/collection/iddelete→DELETE/collection/id现在因为我一直在前端开发和Backbone新手,我发现上面的内容很难理解......我从未使用过REST或任何其他服务器端协议(protocol)......你能否用简单的术语解释一下(比如
我正在尝试了解Backbone.js同步方法,并且正在阅读有关文档http://backbonejs.org/#Sync它说ThedefaultsynchandlermapsCRUDtoRESTlikeso:create→POST/collectionread→GET/collection[/id]update→PUT/collection/iddelete→DELETE/collection/id现在因为我一直在前端开发和Backbone新手,我发现上面的内容很难理解......我从未使用过REST或任何其他服务器端协议(protocol)......你能否用简单的术语解释一下(比如
据说Backbone处理所有更高级别的抽象,而jQuery或类似库处理DOM、规范化事件等。有人可以用任何简单的实际例子帮助我理解这个陈述。Backbone、Knockout等MVC框架的另一个重要特性是它使模型(数据)和View保持同步。但这似乎是特定于页面级别的,而不是整个应用程序。那么我们可以跨多个页面同步模型/数据和View吗..(有点全局) 最佳答案 Backbone/Knockout通常用于单页应用程序。因此,虽然jQuery是一个可以与任何网页一起使用的工具箱,但Backbone是为特定类型的应用程序设计的,它可以帮助
据说Backbone处理所有更高级别的抽象,而jQuery或类似库处理DOM、规范化事件等。有人可以用任何简单的实际例子帮助我理解这个陈述。Backbone、Knockout等MVC框架的另一个重要特性是它使模型(数据)和View保持同步。但这似乎是特定于页面级别的,而不是整个应用程序。那么我们可以跨多个页面同步模型/数据和View吗..(有点全局) 最佳答案 Backbone/Knockout通常用于单页应用程序。因此,虽然jQuery是一个可以与任何网页一起使用的工具箱,但Backbone是为特定类型的应用程序设计的,它可以帮助
我目前正在尝试为View实现销毁/删除方法,但我无法获得适用于所有View的通用解决方案。我希望有一个事件附加到Controller,这样当一个新的请求通过时它会破坏以前的View然后加载新的。有没有什么方法可以做到这一点而不必为每个View构建一个删除函数? 最佳答案 我必须绝对确定View不仅从DOM中删除,而且完全不受事件的约束。destroy_view:function(){//COMPLETELYUNBINDTHEVIEWthis.undelegateEvents();this.$el.removeData().unbin