说了好久好久要学习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. 通过点击取消按钮关闭dialog窗口

  2. 为什么要把js代码写到<!--//-->中

    是为了兼容,不支持js的浏览器会把其中的内容当做html注释.

  3. grunt入门之grunt watch的使用

    watch几乎是grunt必不可少的应用,一旦配置好watch,保存文件后将立即执行命令 安装方式如下: npm install grunt-contrib-watch --save-dev 安装好以 ...

  4. 王立平--EditPlus激活码

    注冊名:Free User 注冊码:6AC8D-784D8-DDZ95-B8W3A-45TFA

  5. Apache DbUtils - JDBC轻量级封装的工具包

    前段时间使用了Apache Common DbUtils这个工具,在此留个印,以备不时查看.大家都知道现在市面上的数据库访问层的框架很多,当然很多都是包含了OR-Mapping工作步骤的例如大家常用的 ...

  6. Android---3种方式限制EditView输入字数(转载)

    方法一:利用TextWatcher editText.addTextChangedListener(new TextWatcher() { private CharSequence temp; pri ...

  7. Android 开发之异常处理篇(一):SDK Manager 闪退的解决方法

    这个问题困扰了我很久,之前没解决,就放一放.后来我又专门拿了一个下午来找解决方法,终于搞定! 我的解决方法是修改 android.bat,直接指定java.exe所在位置,不用去调用find_java ...

  8. [AngularJS] Accessing Data in HTML -- controllerAs, using promises

    <!DOCTYPE html> <html> <head> <title>Access Data From HTML</title> < ...

  9. 【UML】具体解释六种关系

    UML中包括六中关系.各自是:关联(Association).聚合(Aggregation).组合(Composition).泛化(Generalization).依赖(Dependency).实现( ...

  10. 浏览器使用ActiveX控件

    在IE中使用ActiveX控件,需要使用HTML中的标志是<OBJECT>,该标记几个重要的参数特性有:1.ID:为控件提供一个标识名称,为HTML代码提供一种访问该控件的入口.2.CLA ...