Backbone.js JavaScript的MVC 应用框架

Backbone 为复杂JavaScript应用程序提供模型(models)、集合(collections)、视图(vIEws)的结构。其中模型用于绑定键值数据和 自定义事件;集合附有可枚举函数的丰富API; 视图可以声明事件处理函数,并通过RESTful JSON接口连接到应用程序。

当我们开发含有大量Javascript的web应用程序时,首先你需要做的事情之一便是停止向DOM对象附加数 据。 通过复杂多变的jQuery选择符和回调函数创建Javascript应用程序,包括在HTML UI,Javascript逻辑和数据之间保持同步,都不复杂。 但对富客户端应用来说,良好的架构通常是有很多益处的。
Backbone将数据呈现为模型, 你可以创建模型、对模型进行验证和销毁,甚至将它保存到服务器。 当UI的变化引起模型属性改变时,模型会触发"change"事件; 所有显示模型数据的视图会接收到该事件的通知,继而视图重新渲染。 你无需查找DOM来搜索指定id的元素去手动更新HTML。 &mDash; 当模型改变了,视图便会自动变化。
backbone.js提供了一套web开发的框架,通过Models进行key-value绑定及custom事 件处理,通过Collections提供一套丰富的API用于枚举功能,通过Views来进行事件处理及与现有的Application通过 RESTful JSON接口进行交互.它是基于jquery和Underscore的一个js框架。
主要组成:
1.model:创建数据,进行数据验证,销毁或者保存到服务器上
2.collection:可以增加元素,删除元素,获取长度,排序,比较等一系列工具方法,说白了就是一个保存 models的集合类
3.view:绑定html模板,绑定界面元素的事件,初始的渲染,模型值改变后的重新渲染和界面元素的销毁等
优势
1. 将数据和界面很好的分离开来。
2. 将事件的绑定很好的剥离出来,便于管理和迭代。
3. 使得Javascript程序的模块化更加清晰、明了。
应用场景
最适合的应用场景是单页面应用,并且页面上有大量数据模型,模型之间需要进行复杂的信息沟通。

示例代码

var object = {};
 
_.extend(object, Backbone.Events);
 
object.on("alert", Function(msg) {
  alert("Triggered " + msg);
});
 
object.trigger("alert", "an event");

 

Backbone.js 1.2.3 发布,JavaScript 的 MVC 框架
Backbone.js 1.2.3 发布,此版本修复了 1.2.2 版本的回退问题,当在一个超出边界的索引添加一个 model 到 collection 时会发生错误。下载:http://backbonejs.org/backbone.js http://backbonejs.org/backbone-min.js https://raw.github.com/jashkenas/backbone/master/backbone.js Backbone.js 是一种重量级javascri

发布于 2015-09-07 00:18:27 | 182 次阅读

Backbone.js 1.2.2 发布,JavaScript 的 MVC 框架
Backbone.js 1.2.2 发布,此版本更新内容如下:Collection methods find, filter, reject, every, some, and partition can now take a model-attributes-style predicate:  this.collection.reject({user: 'guybrush'}).Backbone Events once again supports multiple-event maps (obj.on({'error change

发布于 2015-08-24 00:30:54 | 150 次阅读

Javascript MVC框架Backbone.js详解
本篇内容主要为大家讲解的是Javascript MVC框架Backbone.js详解。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2016-11-08 10:58:27 | 122 次阅读

Backbone.js的Hello World程序实例
本篇内容主要为大家讲解的是Backbone.js的Hello World程序实例。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2017-02-07 01:24:50 | 150 次阅读

Backbone.js 0.9.2 源码注释中文翻译版
本篇内容主要为大家讲解的是Backbone.js 0.9.2 源码注释中文翻译版。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2017-02-09 10:28:05 | 308 次阅读

Backbone.js的一些使用技巧
本篇内容主要为大家讲解的是Backbone.js的一些使用技巧。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2017-02-13 02:45:07 | 119 次阅读

Backbone.js框架中简单的View视图编写学习笔记
本篇内容主要为大家讲解的是Backbone.js框架中简单的View视图编写学习笔记。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2017-02-09 13:37:19 | 128 次阅读

JavaScript的Backbone.js框架的一些使用建议整理
本篇内容主要为大家讲解的是JavaScript的Backbone.js框架的一些使用建议整理。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2017-02-08 07:57:34 | 107 次阅读

详解Backbone.js框架中的模型Model与其集合collection
本篇内容主要为大家讲解的是详解Backbone.js框架中的模型Model与其集合collection。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2017-02-08 21:44:24 | 170 次阅读

全面解析JavaScript的Backbone.js框架中的Router路由
本篇内容主要为大家讲解的是全面解析JavaScript的Backbone.js框架中的Router路由。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2017-02-05 08:08:51 | 311 次阅读

实例讲解JavaScript的Backbone.js框架中的View视图
本篇内容主要为大家讲解的是实例讲解JavaScript的Backbone.js框架中的View视图。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2017-02-05 09:45:22 | 121 次阅读

JavaScript的Backbone.js框架入门学习指引
本篇内容主要为大家讲解的是JavaScript的Backbone.js框架入门学习指引。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2017-02-09 07:28:18 | 346 次阅读

JavaScript的Backbone.js框架环境搭建及Hellow world示例
本篇内容主要为大家讲解的是JavaScript的Backbone.js框架环境搭建及Hellow world示例。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2017-04-01 10:25:08 | 148 次阅读

Backbone.js框架中Model与Collection的使用实例
本篇内容主要为大家讲解的是Backbone.js框架中Model与Collection的使用实例。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2017-02-05 13:24:44 | 114 次阅读

Backbone中View之间传值的学习心得
本篇内容主要为大家讲解的是Backbone中View之间传值的学习心得。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2016-08-21 06:39:03 | 82 次阅读

Backbone View 之间通信的三种方式
本篇内容主要为大家讲解的是Backbone View 之间通信的三种方式。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2016-08-21 06:39:03 | 109 次阅读

Backbone源码分析(三)
本篇内容主要为大家提供的是Backbone源码分析(三)。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2016-04-23 04:14:11 | 163 次阅读

Backbone源码分析(二)
本篇内容主要为大家提供的是Backbone源码分析(二)。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2016-04-12 11:40:48 | 168 次阅读

Backbone源码分析(一)
本篇内容主要为大家提供的是Backbone源码分析(一)。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2016-04-10 15:57:19 | 180 次阅读

关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
本篇内容主要为大家讲解的是关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法。感兴趣的同学可以参考学习下,具体内容如下:

发布于 2017-02-08 04:44:23 | 305 次阅读


Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务