经历一段自我修炼,终于领悟到Backbone.js的关键知识点,也发现了原来MVC可以在前端这样梦幻的发挥,Backbone.js确实是一个很有魅力的前端MVC框架。

练就一门技术,需要有扎实的功底,从这点,开始认真研究Backbone.js的一些最基本的操作,以便我日后学习能更上一层楼。那就切入主题:

什么是mvc?

简单的理解就是:模型(models),视图(views),控制器(collections)。通过视图把浏览器的网址传给控制器,控制器对网址进行解析,然后去模型层获取数据,模型层将数据放回给控制器,接着控制器在放回给视图。

MVC思想

  • 就是把模型和视图分离,通过控制器来连接它们

在前端没有mvc框架出来之前,对模型和视图的分离操作是很难办到的,有了像Backbone.js这样的框架出来之后,我们也可以像后台的MVC一样对视图和模型层进行分离操作。

Backbone模块

  1. Events:事件驱动方法
  2. Model:数据模型
  3. Collection:模型集合器
  4. Router:路由器
  5. History:开启历史管理
  6. Sync:同步服务器方式
  7. View:视图

先从模型开始

  模型

        创建模型对象 直接new Backbone.Model()简单易懂

var model = new Backbone.Model();

var mode2 = new Backbone.Model({'name':'hello'});

模型集合

         创建模型集合对象

var modelList = new Backbone.Collection();

往模型集合里添加模型数据

modelList.add(model);

modelList.add(mode2);

模型操作

在Backbone.js提供了模型操作的方法:列举几个常用的

extend

             (要想创建自己的模型类型,就用此方法进行扩展,在这里可以初始化属性,也可以自定义函数)

var m = Backbone.Model.extend({
                        defaults:{
                               name:'klm'
                        },
                        a:function(){
                               alert(123);
                        }
                    });

set

            (向模型设置一个或多个散列属性)

var model = Backbone.Model();

model.set('name','hello');

get

            (获取模型里的数据)

model.get('name');

继承

               首先我们要有一个父类,和一个子类 才能构成继承关系

父类对象:

var fu = Backbone.Model.extend({
                                              defaults:{
                                                       name:'klm'
                                               },
                                              a:function(){
                                                      alert(123);
                                              }
                                });

在这个fu对象中封装了一个属性name和一个a函数

子类对象:

var zi =  Backbone.Model.extend();

想让子类对象拥有父类的属性和方法,操作如下:

var zi = new fu;
                               zi.a();
                               zi.get('name')

这样就实现继承方式。

其实学什么只要用心什么都好学! 今天就到这,继续激情的前进着!

Backbone.js学习之二的更多相关文章

  1. 【转】Backbone.js学习笔记(二)细说MVC

    文章转自: http://segmentfault.com/a/1190000002666658 对于初学backbone.js的同学可以先参考我这篇文章:Backbone.js学习笔记(一) Bac ...

  2. Backbone.js学习之一

    昨天一个我崇拜的朋友,徐飞送我一本名为<Backbone.js实战>书,让我心中狂喜,于是带着这份浓厚的兴趣,开始研究Backbone.js之路. 打开这本书的第一句话就很有哲理,“授人以 ...

  3. backbone.js学习笔记

    之前只接触过jQuery,看来Backbone是除了jQuery的第二大JS框架... backbone到底是个啥? 其实刚开始我也不知道=_=,我是这周二才听说居然还有这么个框架...于是乎我的导师 ...

  4. Backbone.js学习之初识hello-world

    说了好久好久要学习Backbone.js,现在终于下定决心开始学习了.然后呢,就根据我的学习进度在这里做个简单的记录,方便新人,也方便我自己以后回忆. 准备 用bower下载这几个库或框架也是醉了.. ...

  5. 【转】Backbone.js学习笔记(一)

    文章转自: http://segmentfault.com/a/1190000002386651 基本概念 前言 昨天开始学Backbone.js,写篇笔记记录一下吧,一直对MVC模式挺好奇的,也对j ...

  6. Backbone.js学习之Backbone.View(视图)

    Backbone.js为复杂WEB应用程序提供模型(models).集合(collections).视图(views)的结构.其中模型用于绑定键值数据和自定义事件:集合附有可枚举函数的丰富API: 视 ...

  7. Backbone.js学习之View

    千呼万唤始出来,终于到最后一个要点View了.照旧,先来一睹官方文档: Backbone views are almost more convention than they are code - t ...

  8. 【转】require.js学习笔记(二)

    require.js遵循AMD规范,通过define定义模块,require异步加载模块,一个js文件即一个模块. 一.模块加载require1.加载符合AMD规范模块 HTML: <scrip ...

  9. Backbone.js学习之旅(一)

    前言 刚到粑粑公司,就学习各种框架,进行各种开发,为了纪念挥泪的青春,只好写下…… 希望能合您胃口^_^!!! The First(文件准备) backobone 强制依赖于 underscore.j ...

随机推荐

  1. 解决eclipse中maven web工程打包成war(发布到tomcar)时lib中没有jar包的解决方法

    可能有两个原因:1.maven中某些jar包下载不下来 从其他地方下载jar文件放到相应maven本地库的.m2里2..classpath文件中缺少(下面代码的作用是制定maven的jar发布路径)& ...

  2. mysql 关于列的语句

    查看列:desc 表名; 修改表名:alter table t_book rename to bbb; 添加列:alter table 表名 add column 列名 varchar(30); 删除 ...

  3. 微信支付:“当前页面的URL未注册”

    最近在尝试着写微信支付方面的内容,今天下午的时候遇到了一个问题,也就是当前页面没有进行注册的问题. 在写好后台代码之后我在微信后台配置了测试授权目录和支付白名单,如下图所示,但是无论我如何进行测试总是 ...

  4. ASP.NET Web API 中的异常处理(转载)

    转载地址:ASP.NET Web API 中的异常处理

  5. 攻城狮在路上(贰) Spring(三)--- Spring 资源访问利器Resource接口

    Spring为了更好的满足各种底层资源的访问需求.设计了一个Resource接口,提供了更强的访问底层资源的能力.Spring框架使用Resource装载各种资源,包括配置文件资源.国际化属性文件资源 ...

  6. html5 方框内的小球

    html5 方框内的小球 版本一 <!DOCTYPE html> <html> <head lang="en"> <meta charse ...

  7. 手机访问 localhost

    为了测试开发的手机网站,常常需要使手机直接访问本地网络.在这个过程中碰到几个问题,记下来供以后参考 1. 在本地主机运行apache后,使用localhost和127.0.0.1可以访问页面,但使用I ...

  8. WPF中使用ReportViewer报表

    本篇博客将介绍如何在WPF中使用ReportViewer控件. 1. 环境准备:下载安装最新版ReportViewer(PS:需要安装Microsoft SQL Server System CLR T ...

  9. FreeSWITCH 体系配置结构

    转自:http://www.cnblogs.com/logo-fox/archive/2013/12/09/3465440.html FreeSWITCH总体结构: FreeSWITCH 由一个稳定的 ...

  10. Mysql数据库操作系统及配置参数优化

    数据库结构优化 表的水平拆分常用的水平拆分方法为:1.对 customer_id进行 hash运算,如果要拆分成5个表 则使用mod(customer_id,5)取出0-4个值2.针对不同的 hash ...