题外话:
- 最近想学习backbone,发现中文的教程并不是很多,看到很多博客内容相似度99%,大多数应该都是“借鉴”的同一篇文章
- 下面记录下个人的理解,如有问题欢迎指正
- 为了方便阅读(就是懒)下面的Backbone 用简称
bab
代替
参考博客:
一、什么时候用?
- 构建大型、复杂的单页面应用bab 是再合适不过了
- 如果项目的逻辑并不复杂,引入bab 会导致维护和开发的繁琐复杂
二、依赖
bab 是无法独立使用的,它的基础函数,dom操作以及ajax函数都需要依赖第三方库
- Underscore(
必须的依赖
) - jquery / zepto (可选) 是最常用的第三方库,DOM选择器、DOM事件和AJAX,都使用了jQuery的方法。
引入顺序:
- jquery > underscore > backbone ,同时引入的script 应放在body 下方, 否则会出现错误
三、构成
官网里主要有这几部分组成
- Events :事件操作
- model:对业务中实体对象抽象、进行数据验证、做持久化、与服务器端数据进行交互
- collection:可以增加元素,删除元素,获取长度,排序,比较等一系列工具方法
- Router:用来控制url指向哪个函数。在单页面应用中可以通过hash的方式(#page)进行视图
- view:绑定html模板,绑定界面元素的事件,初始的渲染,模型值改变后的重新渲染和界面元素的销毁等
下面会学习这几个部分