JavaScript的Backbone.js框架环境搭建及Hellow world示例


Posted in Javascript onMay 07, 2016

环境准备
在正式学习Backbone之前,你需要准备一些东西:
首先,你需要获取Backbone框架源文件:http://documentcloud.github.com/backbone/
Backbone依赖于Underscore框架的基础方法,因此,你同时需要下载Underscore框架的源文件:http://documentcloud.github.com/underscore/
在Backbone中,对DOM和事件的操作依赖于第三方库(如jQuery或Zepto),你只需要选择其中一个下载:
jQuery:http://jquery.com/
Zepto:http://zeptojs.com/
看起来好像挺麻烦的样子,但Backbone的目的是在于使用简单的框架来构建复杂的应用,因此麻烦并不表示它很复杂。
你可以新建一个HTML页面,并将这些框架引入进来,就像这样:

<script type="text/javascript" src="jquery/jquery-1.8.2.min.js"></script> 
<script type="text/javascript" src="underscore/underscore-min.js"></script> 
<script type="text/javascript" src="backbone/backbone-min.js"></script>

至此,你已经准备好了运行Backbone必须的环境。

Hellow World
先来说一下这个helloworld的功能: 在页面上有一个报道的按钮,点击弹出输入框,输入内容,确认,最后内容会加到页面上。页面图如下:

JavaScript的Backbone.js框架环境搭建及Hellow world示例

下面来看代码:

<!DOCTYPE html>
<html>
<head>
    <title>the5fire.com-backbone.js-Hello World</title>
</head>
<body>
<button id="check">报到</button>
<ul id="world-list">
</ul>
<a href="http://www.the5fire.com">更多教程</a>
</body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script src="http://documentcloud.github.com/underscore/underscore-min.js"></script>
<script src="http://documentcloud.github.com/backbone/backbone-min.js"></script>
<script>
(function ($) {
    World = Backbone.Model.extend({
        //创建一个World的对象,拥有name属性
        name: null
    });

    Worlds = Backbone.Collection.extend({
        //World对象的集合
        initialize: function (models, options) {
            this.bind("add", options.view.addOneWorld);
        }
    });

    AppView = Backbone.View.extend({
        el: $("body"),
        initialize: function () {
            //构造函数,实例化一个World集合类,并且以字典方式传入AppView的对象
            this.worlds = new Worlds(null, { view : this })
        },
        events: {
            "click #check": "checkIn",  //事件绑定,绑定Dom中id为check的元素
        },
        checkIn: function () {
            var world_name = prompt("请问,您是哪星人?");
            if(world_name == "") world_name = '未知';
            var world = new World({ name: world_name });
            this.worlds.add(world);
        },
        addOneWorld: function(model) {
            $("#world-list").append("<li>这里是来自 <b>" + model.get('name') + "</b> 星球的问候:hello world!</li>");
        }
    });
    //实例化AppView
    var appview = new AppView;
})(jQuery);
</script>
</html>

我认为代码是直观的,这里面涉及到backbone的三个部分,view、model、collection,以后都会提到,这里只要了解,model代表一个数据模型,collection是模型的一个集合,而view是用来处理页面以及简单的页面逻辑的。

Javascript 相关文章推荐
javascript获取作用在元素上面的样式属性代码
Sep 20 Javascript
jquery实现的鼠标下拉滚动置顶效果
Jul 24 Javascript
下拉框select的绑定示例
Sep 04 Javascript
javascript浏览器窗口之间传递数据的方法
Jan 20 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
Aug 09 Javascript
jQuery实现可展开折叠的导航效果示例
Sep 12 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
Oct 17 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
May 05 Javascript
Vue指令之 v-cloak、v-text、v-html实例详解
Aug 08 Javascript
JavaScript canvas仿代码流瀑布
Feb 10 Javascript
JavaScript实现轮播图特效
Apr 10 Javascript
jquery实现简单自动轮播图效果
Jul 29 jQuery
深入解析Backbone.js框架的依赖库Underscore.js的作用
May 07 #Javascript
JavaScript的Backbone.js框架入门学习指引
May 07 #Javascript
JavaScript数组方法总结分析
May 06 #Javascript
JS平滑无缝滚动效果的实现代码
May 06 #Javascript
使用AJAX实现Web页面进度条的实例分享
May 06 #Javascript
JavaScript中的原型继承基础学习教程
May 06 #Javascript
jquery实现下拉框功能效果【实例代码】
May 06 #Javascript
You might like
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
2016/10/03 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
utf8的编码算法 转载
2006/12/27 Javascript
JQuery中getJSON的使用方法
2010/12/13 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
js实现的四级左侧网站分类菜单实例
2015/05/06 Javascript
jquery实现定时自动轮播特效
2015/12/10 Javascript
jQuery zTree加载树形菜单功能
2016/02/25 Javascript
JS清除字符串中重复值的实现方法
2016/08/03 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
js实现String.Fomat的实例代码
2016/09/02 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
2017/04/13 Javascript
JS浅拷贝和深拷贝原理与实现方法分析
2019/02/28 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
2020/04/01 jQuery
[12:29]2018国际邀请赛 开幕秀
2018/08/22 DOTA
Python中使用PyQt把网页转换成PDF操作代码实例
2015/04/23 Python
Python中使用支持向量机(SVM)算法
2017/12/26 Python
用python制作游戏外挂
2018/01/04 Python
python3第三方爬虫库BeautifulSoup4安装教程
2018/06/19 Python
Python中的groupby分组功能的实例代码
2018/07/11 Python
python 解压pkl文件的方法
2018/10/25 Python
Appium+Python自动化测试之运行App程序示例
2019/01/23 Python
python 魔法函数实例及解析
2019/09/25 Python
把富文本的回车转为br标签
2019/08/09 HTML / CSS
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
荷兰本土平价百货:HEMA
2017/10/23 全球购物
怀旧香味蜡烛:Homesick
2019/11/02 全球购物
世界上最大的皮肤科医生拥有和经营的美容网站:LovelySkin
2021/01/03 全球购物
《宋庆龄故居的樟树》教学反思
2014/04/07 职场文书
药剂专业自荐信范文
2014/04/16 职场文书
质量管理标语
2014/06/12 职场文书
幼儿园门卫岗位职责范本
2014/07/02 职场文书
2014小学数学教研组工作总结
2014/12/06 职场文书
会计岗位职责
2015/02/03 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书