Backbone.js学习之初识hello-world
说了好久好久要学习Backbone.js,现在终于下定决心开始学习了。然后呢,就根据我的学习进度在这里做个简单的记录,方便新人,也方便我自己以后回忆。
准备
用bower下载这几个库或框架也是醉了。。。由于使用的红杏只能在浏览器上使用,所以在GFW的协同之下真是下载得相当龟速啊!
jquery(或者zepto),underscore.js,backbone.js终于下载完成,成功引入之后。开始从网上扒helloworld了。。。。不要吐槽我,我就喜欢在学习之前先来个整体的demo看看。
然后我就扒到了https://github.com/the5fire/backbonejs-learning-note这里面的一个 demo。。。另外,这个系列的基本例子都是取自这里,PS:这位仁兄写得不错。当然,我会结合官方文档以及自己的倒腾做出一些改变
代码
(function ($) {
World = Backbone.Model.extend({
//创建一个World的对象,拥有name 和 age属性
defaults: {
name:'Moyi',
length: null
}
});
Worlds = Backbone.Collection.extend({
// World对象的集合
initialize: function(models, options){
this.bind("add", options.view.addOneWorld);
}
});
AppView = Backbone.View.extend({
el: $("body"),
initialize: function(){
this.worlds = new Worlds(null, { view : this })
},
events: {
"click #check": "checkIn",
"mouseover .hehe": "checkIn"
},
checkIn: function(e){
var world_name = prompt("请问,您是哪星人?");
if (world_name == "") {
world_name = '未知'
};
var world = new World({
name: world_name,
length: world_name.length
});
this.worlds.add(world);
},
addOneWorld: function(model){
$("#world-list").append("<li>这里是来自<b>" + model.get("name") +"("+ model.get("length") + ")</b>星球的问候!</li>");
}
});
var appview = new AppView;
})(jQuery);
解释一下某些东西
view里面的events:
官方文档是这么说的:
A view that displays a document in a search result might look something like this:
var DocumentView = Backbone.View.extend({
events: {
"dblclick" : "open",
"click .icon.doc" : "select",
"contextmenu .icon.doc" : "showMenu",
"click .show_notes" : "toggleNotes",
"click .title .lock" : "editAccessLevel",
"mouseover .title .date" : "showTooltip"
},
render: function() {
this.$el.html(this.template(this.model.attributes));
return this;
},
open: function() {
window.open(this.model.get("viewer_url"));
},
select: function() {
this.model.set({selected: true});
}
});
我私以为呢,这里列出来的event都是熟悉的,好像hover事件就没有,不过好在可以使用mousein,mouseout来模拟。
其他
本系列的一些文章纯属自己学习的时候做的记录。我相信会有极大一部分是不正确的,或者是我主观想法。若是看客,尽管批评指正,小弟感激不尽。另外,文章中的一些观点,还请自行查阅相关文档。
Backbone.js学习之初识hello-world的更多相关文章
- 【转】Backbone.js学习笔记(二)细说MVC
文章转自: http://segmentfault.com/a/1190000002666658 对于初学backbone.js的同学可以先参考我这篇文章:Backbone.js学习笔记(一) Bac ...
- Backbone.js学习之二
经历一段自我修炼,终于领悟到Backbone.js的关键知识点,也发现了原来MVC可以在前端这样梦幻的发挥,Backbone.js确实是一个很有魅力的前端MVC框架. 练就一门技术,需要有扎实的功底, ...
- Backbone.js学习之一
昨天一个我崇拜的朋友,徐飞送我一本名为<Backbone.js实战>书,让我心中狂喜,于是带着这份浓厚的兴趣,开始研究Backbone.js之路. 打开这本书的第一句话就很有哲理,“授人以 ...
- backbone.js学习笔记
之前只接触过jQuery,看来Backbone是除了jQuery的第二大JS框架... backbone到底是个啥? 其实刚开始我也不知道=_=,我是这周二才听说居然还有这么个框架...于是乎我的导师 ...
- 【转】Backbone.js学习笔记(一)
文章转自: http://segmentfault.com/a/1190000002386651 基本概念 前言 昨天开始学Backbone.js,写篇笔记记录一下吧,一直对MVC模式挺好奇的,也对j ...
- Backbone.js学习之Backbone.View(视图)
Backbone.js为复杂WEB应用程序提供模型(models).集合(collections).视图(views)的结构.其中模型用于绑定键值数据和自定义事件:集合附有可枚举函数的丰富API: 视 ...
- Backbone.js学习之View
千呼万唤始出来,终于到最后一个要点View了.照旧,先来一睹官方文档: Backbone views are almost more convention than they are code - t ...
- Backbone.js学习之旅(一)
前言 刚到粑粑公司,就学习各种框架,进行各种开发,为了纪念挥泪的青春,只好写下…… 希望能合您胃口^_^!!! The First(文件准备) backobone 强制依赖于 underscore.j ...
- Backbone.js学习之Collection
首先,当然是一如既往地看官方文档的解释. Collections are ordered sets of models. 翻译: Collections是models的一个集合. 关于book和boo ...
随机推荐
- JAVA核心技术--继承
1.继承:向上追溯,对同一批类的抽象,延续和扩展父类的一切信息! 1)关键字:extends 例如,父类是Animal,子类是Dog; eg: public class Dog exte ...
- jdk各个班本官网下载地址
http://www.oracle.com/technetwork/java/archive-139210.html
- Delphi Interfaces
http://www.delphibasics.co.uk/Article.asp?Name=Interface The reason for interfaces Classes that ex ...
- STM32 使用 printf 发送数据配置方法 -- 串口 UART, JTAG SWO, JLINK RTT
STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK) http://home.eeworld.com.cn/my/space-uid-338727-blogid-47 ...
- [转]AsyncDisplayKit 教程:达到 60 FPS 的滚动帧率
[原文:https://github.com/nixzhu/dev-blog/blob/master/2014-11-22-asyncdisplaykit-tutorial-achieving-60- ...
- C++学习笔记之输入、输出和文件
一.流的概念 数据从内存的一个地址移动到另一个地址称为数据流动——流操作 流操作是通过缓冲区(buffer)机制实现的. 缓冲区:内存的一块区域——用作文件与内存交换数据. 数据从文件中读出:文件 → ...
- AJAX在Post中文的时候乱码的解决方法
加上设置字符编码的方法: response.setHeader("charset","gb2312"); *************************** ...
- 使用AmplifyJS和JQuery编写更好更优雅的javascript事件处理代码
事件(或消息)是一种经常使用的软件设计模式.可以减少消息处理者和消息公布者的之间的耦合,比方J2EE里面的JMS规范.设计模式中的观察者模式(也叫公布/订阅模式).这对于javascript代码相同适 ...
- 从Project 2007导出WBS图表到Visio 2007
微软官网讲:在 Microsoft Office Project 2007 中,Visio WBS 图表向导已被可视报表代替.您可以使用 Microsoft Office Visio Professi ...
- 推荐安卓开发神器(里面有各种UI特效和实例)
网上有很多开源的安卓类库很好用,对于刚学习安卓的童鞋亦或者老鸟都是很好的学习对象. 我平时有关注开源代码的习惯,这么多年也搜集了不少精彩的源码. 到后来发现自己手机里装的都是几百个demo app,删 ...