`
文章列表
        最近一直在关注Backbone,工作之余将Backbone和Underscore库的源码逐行解析了一遍,并加入了完整的备注,我觉得已经足够详细,阅读它们可以帮助你快速了解Underscore和Backbone的内部实现。         解析及备注后的源码,请从本文的附件中下载。        我想将我所了解的东西尽可能详细地分享给大家,因此我现在正忙着编写一篇关于Backbone的教程,计划在近期发布到我的JavaEye博客,正在学习或准备学习的朋友,请留意关注。         如果你还不了解Backbone,可以先从这里了解一下:         http://doc ...
在线演示:http://yujianshenbing.w108.mc-test.com/game/donkeyjump/index.html(如果无法访问,请大家暂时先直接下载源码运行) 源码下载:请查看附件 操作方法:游戏开始后,按键盘“A”或“D”控制左右方向,也可以通过方向键控制。   (请了解:游戏中所有图片和音乐均来自手机版同名游戏,本游戏仅供学习参考。本文所有内容及结论均属个人意见,如有不同见解,欢迎指正。)   经过两个多月断断续续的开发,我的第一款游戏《驴子跳》终于完成了,此时,我已经迫不及待地想跟大家分享这个过程,包括学习方法、游戏源码、和经验心得;本文的目的 ...
10. Router和History (路由控制)   Backbone.Router担任了一部分Controller(控制器)的工作,它一般运行在单页应用中,能将特定的URL或锚点规则绑定到一个指定的方法(后文中称Action)。   当我们开发一个单页应用时,常常会遇到这样两个问题:   我们在同一个页面中通过用户的操作来隐藏、显示HTML块,为用户提供一个无刷新、完整流畅的体验,但用户可能并不知道他当前正处于同一个页面中,因此他希望通过浏览器的“前进”和“后退”按钮来返回和前进到上一步操作。当他真正这样操作时,会离开当前页面,这显然不是用户所期望的。   另一个问题是用户在单页应用 ...
9. View (视图控制器)   我们在前面的章节中介绍了Model和Collection,它们都是用于数据管理和交互,在本章我们讨论如何使用视图(View)将这些数据渲染到界面,以及如何管理界面事件和逻辑。   Backbone中的视图提供了一组处理DOM事件、和渲染模型(或集合)数据的方法(在使用视图类之前,你必须先导入jQuery或Zepto)。   视图类提供的方法非常简单,我们一般都会在Backbone.View的基础上进行扩展,但即使是特别复杂的视图类,它也应该仅仅是做界面事件、和渲染逻辑相关的操作,数据管理应该交由Model和Collection来完成,而业务逻辑应该由其它 ...
8. Collection (数据模型集合)   如果将一个Model对象比喻成数据库中的一条记录,那么Collection就是一张数据表。它表示为一个模型集合类,用于存储和管理一系列相同类型的模型对象。 8.1 创建集合   集合用于组织和管理多 ...
7. Model (数据模型)   Model是Backbone中所有数据模型的基类,用于封装原始数据,并提供对数据进行操作的方法,我们一般通过继承的方式来扩展和使用它。   如果你做过数据库开发,可能对ORM(对象关系映射)不会陌生,而Backbone中的Model就像是映射出来的一个数据对象,它可以对应到数据库中的某一条记录,并通过操作对象,将数据自动同步到服务器数据库。(下一节即将介绍的Collection就像映射出的一个数据集合,它可以对应到数据库中的某一张或多张关联表)。 7.1 创建数据模型   我们先通过一段代码来看看如何创建数据模型:   // 定义Book模型类 ...
6. Events (事件管理)   从这一章开始,我将正式介绍Backbone的内容,过程中会有许多例子和代码,你应该将这些代码复制到你的页面,并查看它们的运行效果。   我介绍的第一个模块是Backbone.Events(事件管理),因为我在介绍任何其它的模块时都会提到它,你可以想象到它的重要性。   Events是Backbone中所有其它模块的基类,无论是Model、Collection、View还是Router和History,都继承了Events中的方法。   Events为其它的模块提供了事件管理相关的方法,包括on、off和trigger.   假如你熟悉jQuery, ...
5. Underscore.js   Underscore封装了常用的JavaScript对象操作方法,用于提高开发效率。它本身与我们介绍的主题“Backbone”没有半毛钱的关系,因此你可以完全不理会“Backbone”的概念来学习它,或将它单独运用到任何一个页面。( ...
1. 前言   本文的目的,是帮助大家快速理解掌握Backbone的使用,但它并不是API,因此我不会将每一个方法都详细地描述,但是我会告诉你如何学习它们。   这是一篇稍稍较长的技术文章,因为我想将我所了解的东西尽可能详细地分享给大家。但它还不至于出版为一本书籍,因为Backbone其实非常简单。当然,这并不表示Backbone提供的功能有限,相反,它能用简单的实现构建出复杂的应用,这正是Backbone的强大之处。   在正式学习Backbone之前,你需要准备一些东西:   首先,你需要获取Backbone框架源文件:http://documentcloud.github.com ...
Global site tag (gtag.js) - Google Analytics