Backbone简介
Backbone强依赖于Underscore(一个js函数式编程库),总体积30k左右。使用该库可以打造一个模型——视图——控制器的应用程序结构。通过这种结构,能够高效的管理Web应用程序中杂乱的js代码以及处理大量的异步加载请求。
Backbone的MVC结构
数据模型(Model):数据模型负责数据原型的创建和各类事件的自定义,并通过键值的形式绑定原型数据。
数据模型集合:原型数据的操作处理,根据数据模型产生数据集并管理。
视图:绑定页面中元素的内容并处理相应的事件,并通过RESTful JSON接口方式与原有应用程序中得数据进行动态交互。(这里视图充当控制器的功能)
特点
1.MVC结构化:数据交互、逻辑处理、页面展示分离。
2.继承特性:可以使用面向对象的方式编写代码,并且很方便的重载和继承数据对象。
3.事件统一管理
4.绑定页面模板
5.服务的无缝交互
underscore.js
backbone必须依赖underscore.js才能够使用,它必须通过underscore中的函数来完成访问页面元素、处理元素的基本操作。
注:backbone可以很好的与其它js库一起工作,所以说它是一个库,而不死框架。
Underscore并没有对原生对象进行扩展,而是调用_()方法进行封装,一旦封装完成,js对象就变为Underscore对象,也可以通过Underscore对象的Value()方法获取原生js对象中的数据。(jquery通过$()方法得到Jquery对象)
Underscore总共有60多个函数,按照处理对象的不同,可以分为集合类、数组类、功能函数类、对象类、工具函数类五大类模块。
underscore template()函数说明:
该函数包含三种模板:
- <% %>:包含逻辑代码,渲染后不会展现。
- <%= %>:数据类型,渲染后展示数据。
- <%- %>:将HTML标记转换为常用字符串,以避免代码攻击。
调用格式:
_.template(templateString, [data], [setting])
没有实现双向数据绑定