修正
感谢朋友令狐虫的指出,《Backbone笔记之一(View) 》的第一个例子里原来漏掉了 initialize 部分,导致view并不能正常显示(后面的例子里都有),可能是复制代码时搞错了。
因为除了在initialize里调用render方法显示以外,还有一种方法是不需要initialize,而是在new出view对象以后调用render方法。
目前原文已更新修正。
补充
也是令狐虫提出的问题:如何在服务端过滤Collection的结果?
如果只是说按特定的条件在浏览器端过滤Collection是很简单的,Collection本身就有这个功能。
以《Backbone笔记之二(Model/Collection) 》中的例子来说,就是这样:
var tl = new TaskList();
tl.fetch();
// 全部显示是这样:
tl.each(render_item); // render_item 为渲染显示一条记录的函数
// 过滤部分再显示则是这样(因为where的返回值不是collection,而是array,所以要改用underscore的each):
_.each(tl.where({state:"working"}), render_item);
// 除了where方法以外,还可以用underscore的filter方法,详见underscore的文档
但是如果全部记录集很大,而过滤后的结果很小的话,这样做就很浪费。因为这是把全部的结果集都下载到浏览器,再过滤出所需的少量数据,一则浪费服务端资源,二则浪费网络资源,最后还浪费浏览器资源,完全没有必要。
这就是令狐提出的那问题了,如何在服务端过滤?
服务端过滤当然也有办法,其实也不太麻烦,就是修改 TaskList 这个Collection类里的url属性,把它改成一个函数:
// ...
url: function() {
return "/task?filter_state=" + this.filter_state;
},
// ...
这样只要修改filter_state就可以修改过滤条件,具体的过滤实现就需要在服务端根据这个参数作处理了。
分享到:
相关推荐
backbone官方Todo示例内含自己详细注释,建议运行之后打开浏览器调试同步学习。
Learn how Backbone.js brings MVC benefits to the client-side Write code that can be easily read, structured, and extended Work with the Backbone.Marionette and Thorax extension frameworks Solve ...
backbone 资料
backbone.js提供了一套web开发的框架,为复杂javascript应用程序提供一个mvc结构。, 《backbone.js应用程序开发》详细介绍了如何使用backbone.js完成web应用开发。全书从了解mvc、spa和backbone.js的基本知识开始,...
backbone.js提供了一套web开发的框架,为复杂javascript应用程序提供一个mvc结构。, 《backbone.js应用程序开发》详细介绍了如何使用backbone.js完成web应用开发。全书从了解mvc、spa和backbone.js的基本知识开始,...
backbone-boilerplate, 一组用于构建 backbone.js 应用程序的最佳实践和实用工具 Backbone 模板这个样板是许多研究和挫折的产物。 现有的boilerplates修改 Backbone 核心,没有构建过程,或者者是非常规范的,这样的...
backbone.js 1.1.2
Java 演示 backbone 基本用法 View Model Collection
Learn how Backbone.js brings MVC benefits to the client-side Write code that can be easily read, structured, and extended Work with the Backbone.Marionette and Thorax extension frameworks Solve ...
backbone官方Todo示例内含自己详细注释,建议运行之后打开浏览器调试同步学习。
react-backbone, Backbone 感知mixin用于响应和更多 反应中枢为 Backbone 提供对你的的响应,以响应你的组件,。将 backbone/backbone 。集合感知awareness你的反应组件mixin用于更新模型更改事件,请注意xhr活动和...
backbone中文api
Backbone.js初学者教程(1) 作者: 阿伦 日期: 2012 年 3 月 15 日 分类: Javascript标签: Backbone.js, Javascript, Tutorial, 前端开发, 结构化 最近在google trends上看了backbone.js近些年的搜索指数:
backbone+seajs实战
backbone-boilerplate, 用于构建 Backbone 应用程序的工作流 Backbone 模板这个样板是许多研究和挫折的产物。 现有boilerplates自由修改 Backbone 核心,缺少构建过程,并且非常规范;Backbone 样板文件的变更。...
backbone的扩展库backbone-localstorage.js
backbone的API 及实例
backbone+extjs 开发的API框架
backbone官网的todos demo,用require进行模块划分,个人感觉就是把前端写的跟后端代码一样,每个文件都注明要引用的模块文件,类似java的import。