2019独角兽企业重金招聘Python工程师标准>>>

使用backbone.js的意义是什么呢?

Backbone将数据呈现为模型, 你可以创建模型、对模型进行验证和销毁,甚至将它保存到服务器。 当UI的变化引起模型属性改变时,模型会触发"change"事件; 所有显示模型数据的视图会接收到该事件的通知,继而视图重新渲染。 你无需查找DOM来搜索指定id的元素去手动更新HTML。 — 当模型改变了,视图便会自动变化

1、Backbone.js依赖2个库:jquery和Underscore.js;

2、Backbone.js的mvc分别是:模型(models)、集合(collections)、视图(views)。C是指collections,结合的意思,可能是数据的集合,也可能是视图的集合,不是Controller,model指数据;

3、Backbone.js基本没有兼容问题;


模型发生改变,自动触发视图改变demo:

<script type="text/javascript" src="jquery.min.full.js"></script>
<script type="text/javascript" src="Underscore.js"></script>
<script type="text/javascript" src="Backbone.js"></script>
<script type="text/javascript">
var M = Backbone.Model.extend({default:{name:'hello'}
})
var V = Backbone.View.extend({initialize:function(){this.listenTo(this.model,'change',this.show)},show:function(model){$('body').append('<div>'+model.get('name')+'</div>');}
})
var m = new M;
var v = new V({model:m});
m.set('name','hi')</script>

首先是建立模型对象用于保存数据,然后建立视图对象用于监控模型的变化。在视图的初始化方法initialize中建立对模型的监听。

最后建立模型和视图的实例,并把模型实例作为参数传给视图对象用以生成具体的一个视图实例。从而完成视图和模型的捆绑

转载于:https://my.oschina.net/710409599/blog/306990

Backbone学习日记[1]:感性认识相关推荐

  1. Backbone学习日记第二集——Model

    看到Model给我的第一感觉就是实体,以前大学的时候学习.Net 三层架构的时候经常和Model打交道,现在工作中用到ASP.NET MVC中的M也是Model,嗦很自然的就想这个Model和他们之间 ...

  2. java的圆周率_java学习日记,圆周率的打印

    前段时间看到听说学习java每天写技术贴会对自己提升很大,我现在学习java也就2个周,算不上技术贴,就写写学习日记吧. 昨天师傅给我出了一道题,说是试试用java打印圆周率. 刚开始我的思路是,如果 ...

  3. GPU(CUDA)学习日记(十一)------ 深入理解CUDA线程层次以及关于设置线程数的思考

    GPU(CUDA)学习日记(十一)------ 深入理解CUDA线程层次以及关于设置线程数的思考 标签: cuda存储线程结构网格 2012-12-07 16:30 6298人阅读 评论(4)收藏 举 ...

  4. GPU(CUDA)学习日记(十三)------ CUDA内存简介

    GPU(CUDA)学习日记(十三)------ CUDA内存简介 标签: cuda存储线程结构 2012-12-07 16:53 2902人阅读 评论(0)收藏 举报 分类: GPU(16) CUDA ...

  5. GPU(CUDA)学习日记(九)------ CUDA存储器模型

    GPU(CUDA)学习日记(九)------ CUDA存储器模型 标签: cuda存储bindingcache编程api 2012-09-27 10:53 1677人阅读 评论(1) 收藏 举报 分类 ...

  6. 语言余一个负数_C语言学习日记(8)——整数溢出

    小时候喜欢玩电子计算器,觉得很神奇,想要算什么数,立刻就能算出来.当时看着计算器的液晶屏幕就想,如果算一个很大的数,超过了屏幕上面数字的位数,会怎么样呢?试了以后结果是INF,那就是无穷大了.虽然当时 ...

  7. SpringMVC学习日记 1.Spring框架

    SpringMVC学习日记 1.Spring框架 Spring简介 Spring框架是一个开源框架,由Rod Johnson组织和开发,生产目的在于简化企业级应用的开发. 主要特性 非侵入(no-in ...

  8. 微信开发学习日记(一):快速阅读5本书,掌握整体背景

    2015年1月开始学习微信开发. 已经有多年开发经验了,从网上文章来看,微信开发主要是接口,然后是业务逻辑,不是很难.所以,我比较强调学习效率.一天学一点,是不能满足我的快速学习欲望的.       ...

  9. const 指针_C语言学习日记(11)——const与指针

    对于一个普通指针typet *p.p有三个最基本的能力,第一就是可以通过p = &obj来指向一个type类型对象,并随意切换指向对象.第二就是通过value = *p来读取它指向的对象的值. ...

最新文章

  1. 《极客与团队》一文化和人
  2. (前)首富许家印造车果然有一套:车还没量产上市,公司先冲刺科创板募资
  3. C#程序员的春天之从零开始学习unity3D游戏开发入门教程二(创建项目及基本面板介绍)...
  4. 基于thrift的微服务框架
  5. 华为手机如何升级鸿蒙系统_华为手机怎么升级鸿蒙系统?答案来了
  6. pip工具可以打包python源代码吗_将python源文件打包成exe文件
  7. ElasicSearch(2) Linux运行
  8. 拉丁正方形 java_LeetCode 221. Maximal Square 最大正方形(C++/Java)
  9. 订单系统:订单生成及其状态机流转介绍
  10. 感觉中国程序员前景一片灰暗,是这样吗?Android开发工程师为你答疑解惑
  11. 阿里数据研发工程师实习生面试经历
  12. python 读取网页源码_python获取整个网页源码的方法
  13. Could Not Autowired ,No Beans of ....
  14. 【IoT】物联网NB-IoT之电信物联网开放平台对接流程浅析
  15. 即时通信和实时通信的区别
  16. KKT条件的物理意义(转)
  17. matlab中如何用数组绘图,matlab 基础学习(1)——数组,矩阵操作和绘图基础学习...
  18. 远程访问家中路由器,实现web、ssh、aria2、ftp功能
  19. Win10电脑定时关机怎么设置?(干货)
  20. P3041 [USACO12JAN]视频游戏的连击Video Game Combos

热门文章

  1. sim中do文件/memory(readmemb命令符)/移位编写
  2. linux命令的使用实验报告,Linux实验报告一-常用命令使用.doc
  3. 在云中进行灾难恢复的五种有效方式
  4. DevOps 工具链可推动你的创新计划!
  5. JavaScript初学者编程题(8)
  6. plsql测试oracle存储过程,oracle存储过程基本结构的编写与plsql测试执行
  7. sqlalchemy数据库中的group_by()和order_by()使用
  8. python 发布包_如何将自己的Python包发布到PyPI
  9. I - Arbitrage POJ - 2240
  10. 贵州高二会考计算机考试题,20167月贵州普通高中学业水平考试会考试题