说了好久好久要学习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. jquery 显示“加载状态 结束”

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. Extjs 实用——不定时更新

    用Ext做项目,总结的一些属性针对不同控件 1.grid 中,编辑表格内容时的点击变输入框 plugins: [cellEditing] //点击变输入框 columns:[{ //在需要变书入框的列 ...

  3. SCCM客户端推送/卸载

    站点配置--站点--层次结构设置--自动批准客户端 ccm客户端安装日志:服务器端的ccm.log安装ccm客户端,需要添加一个具有访问客户端$admin权限的账户,如下:站点名称-右键 客户端安装设 ...

  4. C++之类型转换

    说明:本文仅供学习交流,转载请标明出处,欢迎转载! 实现将A类的对象转换为B类对象的方法有3种:(A类对象<-------B类对象)    方法一:如果A为基类,B为派生类,能够将派生类的对象转 ...

  5. android一些系统相关的东西

    添加快捷方式和删除快捷方式: private void addShortcut() { Intent shortcut = new Intent( "com.android.launcher ...

  6. 微信公共服务平台开发(.Net 的实现)8-------处理图片(上传下载发送)

    举个例子,有人对着我们的公共微信号拍个照片发送过来,然后我们处理这个照片,比如进行ocr识别字(随后就会降到这个例子),或者人脸识别,或者拍照取证等,这些功能都是相当有用的.那么我们现在就要分析一下这 ...

  7. 用Systemtap探索MySQL

    http://www.actionsky.com/docs/archives/168#Systemtap 目录 1 Systemtap 2 Systemtap 观测点的支持程度 2.1 官方编译的My ...

  8. 修改FFMpeg源码—捕获丢包

    概述 最近我们项目有一个需求就是解决客户端播放RTSP视频流花屏的问题,一般来说丢包就会引起花屏,导致客户端花屏的因素又有很多,比如说: 相机到服务器丢包 服务器到客户端丢包 等等... 其中服务器到 ...

  9. flume1.5.2安装与简介

    关于flume的简介看参考:http://www.aboutyun.com/thread-7415-1-1.html 其实一张图就简单明了了 简单安装: 1.下载解压 ... 2.配置JDK,flum ...

  10. 1.7.4.3 Parsers

    Parsers 除了主查询解析器外,还有一些其他的查询解析器可以使用或者和主查询解析器连合使用.这部分描述了其他查询解析器的细节,并且给出了一些例子: 大多数的解析器都可以使用局部查询参数的方式来表达 ...