说了好久好久要学习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的更多相关文章

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

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

  2. Backbone.js学习之二

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

  3. Backbone.js学习之一

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

  4. backbone.js学习笔记

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

  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. Backbone.js学习之旅(一)

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

  9. Backbone.js学习之Collection

    首先,当然是一如既往地看官方文档的解释. Collections are ordered sets of models. 翻译: Collections是models的一个集合. 关于book和boo ...

随机推荐

  1. state与status的区别

    status 指人时暗指相对的地位,指物时相当于 situation.situation 较狭义地指由环境综合决定的特定时间上的状态或情形. state 人或物存在或所处的状态,和 condition ...

  2. MVVM知识库总结

    1.关于MVVM概念的理解和实际运用中的解析: http://www.cnblogs.com/hielvis/archive/2011/03/22/1991959.html http://msdn.m ...

  3. vim复制多行<转>

    比如我要复制从第1行到第5行的数据,复制到第9行 光标移到第5行任意位置,输入ma光标移到第1行任意位置,输入y'a(这一定要打这个“'”单引号,否则就进入“INSERT”状态了光标移到需要复制的行, ...

  4. BP神经网络算法学习

    BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是眼下应用最广泛的神经网络模型之中的一个 ...

  5. [AngularJS] Directive Definition Objects (DDO)

    This function that we just set up is what's called a link function, and it's actually a very small p ...

  6. centos 安装git server

    1.yum install lrzsz wget git 2.安装gitosis:gitosis为Git用户权限管理系统,通过管理服务端的/home/git/.ssh/authorized_key文件 ...

  7. (LeetCode 135) Candy N个孩子站成一排,给每个人设定一个权重

    原文:http://www.cnblogs.com/AndyJee/p/4483043.html There are N children standing in a line. Each child ...

  8. 分享一款页面视差滚动切换jquery.localscroll插件

    今天给大家分享一款页面视差滚动切换jquery.localscroll插件. 滚动鼠标液动条看下页面的切换效果.该插件适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera ...

  9. Line in和Mic in的区别及使用

    Line in和Mic in的区别及使用 我们的电脑声卡上,一般都会有Line in和Mic in两个接口,翻译成中文就是“线性输入”和“麦克风输入”,这两个都是输入端口,但是还是有区别的: 1.Li ...

  10. GNU C/C++ __attributes__ GCC中的弱符号与强符号

    最近在看一些源代码,遇到了一些使用__attribute__修饰函数和变量的属性方面的代码,不是太了解,很是汗颜,再此做个总结:   GCC使用__attribute__关键字来描述函数,变量和数据类 ...