写了近半个月的backbone.js代码,从一开始的todo到现在做仿微信的网页聊天,其中最大的困惑就在于如何处理比较复杂的Model,其内嵌了一个或者多个Collections. 假设我们有一个Person的Model,一个Person会有多个工作,那么我们将jobs这个属性设置为一个Collection: 初始化代码如下: var Job = Backbone.Model.extend({ }); var Jobs = Backbone.Collection.extend({ model:J…
Backbone.js之model篇(一) Backbone 是一个前端 JS 代码 MVC 框架,它不可取代 Jquery,不可取代现有的 template 库.而是和这些结合起来构建复杂的 web 前端交互应用. Backbone 主要包括 models, collections, views 和 events, controller. (一)model 关于 backbone,最基础的一个东西就是 model,这个东西就像是后端开发中的数据库映射那个 model 一样,也是数据对象的模型,…
“Model是js应用的核心,包括基础的数据以及围绕着这些数据的逻辑:数据转换.验证.属性计算和访问控制”. 一.初始化方法 我们先来看一个demo,initialize,这是一个初始化方法,但是写这段代码之前,首先要在<head>元素中导入3个相应的库文件,即jQuery框架.Backbone主框架和依赖库Underscore.需要注意它们导入页面的顺序,由于代码是按照自上而下的顺序进行执行的,因此先导入jQuery框架文件:Backbone依赖于Underscore库,因此在导入Under…
一.模型属性的一些操作方法 1.mmodel.get()  获取属性的值 2.mmodel.set('age',5) 更新单个属性的值  mmodel.set({name:'aaa',age:6})  更新多个属性的值  在设置属性值时,如果该属性不存在,会自动创建该属性:同时会以true的形式返回一个模型的引用. 3.mmodel.unset('age')  从模型中删除一个属性 4.mmodel.clear()  从模型中删除所有的属性 5.mmodel.has('age') 检查是否存在某…
Backbone.js Overview 它由Jeremy Ashkenas开发,最初发行于2010-10-13 它是一个轻量的JavaScript类库,只依赖于underscore.js,非强制依赖于jquery,大小只有7.6Kb,作为一个框架级的js文件,它已经非常小了 它提供了Model-View-Presenter(MVP)的框架模式,可以帮助前端开发搭建一个层次清晰的Web应用框架 它提供了models和collections来封装数据结构,提供了views来操作DOM,提供了自定义…
Model和Collection和后台的WEB server进行数据同步非常方便, 都只需要在实行里面添加一url就可以了,backbone会在model进行save或者collection进行create时,自动将数据用POST或者PUT方式通过该url发送到后端.按照POST和PUT的含义,backbone采用的原则是: 如果model数据为一个全新的实例,则使用POST请求:如果model数据是一个已经存在的实例, 单需要修改实例属性,则采用PUT请求. 所以,问题的关键是,backbon…
前面几篇 Backbone.js 的例子中有使用到 template, 及数据的填充,其实这已经很接近 Model 了.现在来学习怎么创建自己的 Model 类,并简单的使用.Backbone.js 中 Model 会涉及到很多的概念,如 Model 的初始化,默认值,属性的读写,属性值改变的监听,数据渲染,校验,以及与服务端的数据同步等. 本文不打算讲前面大部分的内容,最初思考的一个脉络是怎么把 Model 引入进来,所以线索会是 建立 Model 类 -> 初始化 Model 实例 ->…
注:文章内容都是摘录性文字,自己阅读的一些笔记,方便日后查看. MVC MVC(Model-View-Controller),M 是指业务模型,V 是指用户界面,C 则是控制器,使用 MVC 的目的是将 M 和 V 的实现代码分离,从而使同一个程序可以使用不同的表现形式. 交互方式(所有通信都是单向的): View 传送指令到 Controller Controller 完成业务逻辑后,要求 Model 改变状态 Model 将新的数据发送到 View,用户得到反馈 更详细的说明: 模型(Mod…
原文: Getting Started with Backbone.js 不像其它的Web开发语言,过去Javascript很少可用的架构.令人感到高兴的是,最近几年这种情况得到非常大的改善. 今天我要高兴的像你介绍backbont.js.  一个能够非常容易创建复杂的,交互式数据驱动应用但却非常小巧的框架.她提供 了简单清楚的方法把数据从表现层中分离出来. Overview和FAQ我就不多翻译了. 开始了解Backbone.js Backbone.js由四个大类构成 Model Collect…
原文 Build a Contacts Manager Using Backbone.js: Part 1 在这个教程里我们将会使用Backbone.js,Underscore.js,JQuery创建一个完整的联系人管理应用. 我们会看到如何使用Underscore.js的一些基本组件方便的来展现出Backbone.js的方法. 这些库都是什么? Backbone.js是一个Javascript的前端的MVC架构 Underscore.js是一个工具集,他对Javascript功能进行了一些增强…