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 相关文章推荐
tagName的使用,留一笔
Jun 26 Javascript
JavaScript获取FCK编辑器信息的具体方法
Jul 12 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
Dec 14 Javascript
浅谈JS原生Ajax,GET和POST
Jun 08 Javascript
AngularJS 指令详细介绍
Jul 27 Javascript
xtemplate node.js 的使用方法实例解析
Aug 22 Javascript
基于Vue+element-ui 的Table二次封装的实现
Jul 20 Javascript
Angular6笔记之封装http的示例代码
Jul 27 Javascript
jQuery事件blur()方法的使用实例讲解
Mar 30 jQuery
详解无限滚动插件vue-infinite-scroll源码解析
May 12 Javascript
小程序接入腾讯位置服务的详细流程
Mar 03 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
Oct 29 Javascript
深入解析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
也谈 PHP 和 MYSQL
2006/10/09 PHP
PHP 得到根目录的 __FILE__ 常量
2008/07/23 PHP
对squid中refresh_pattern的一些理解和建议
2009/04/17 PHP
php使用curl详细解析及问题汇总
2016/08/11 PHP
jQuery学习2 选择器的使用说明
2010/02/07 Javascript
js获取 type=radio 值的方法
2014/05/09 Javascript
js 动态修改css文件用到了cssRule
2014/08/20 Javascript
JavaScript中合并数组的N种方法
2014/09/16 Javascript
原生JS实现LOADING效果
2015/03/16 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
jquery心形点赞关注效果的简单实现
2016/11/14 Javascript
js手机号批量滚动抽奖实现代码
2020/04/17 Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
2017/04/13 Javascript
jquery应用实例分享_实现手风琴特效
2018/02/01 jQuery
ES6数组与对象的解构赋值详解
2019/06/14 Javascript
vue路由守卫,限制前端页面访问权限的例子
2019/11/11 Javascript
JQuery表单元素取值赋值方法总结
2020/05/12 jQuery
OpenLayers3实现图层控件功能
2020/09/25 Javascript
微信小程序视频弹幕发送功能的实现
2020/12/28 Javascript
python对DICOM图像的读取方法详解
2017/07/17 Python
Python制作豆瓣图片的爬虫
2017/12/28 Python
python使用opencv按一定间隔截取视频帧
2018/03/06 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
python2与python3爬虫中get与post对比解析
2019/09/18 Python
魔幻般冒泡背景的CSS3按钮动画
2016/02/27 HTML / CSS
开会迟到检讨书
2014/02/03 职场文书
工程质量月活动方案
2014/02/19 职场文书
工业设计毕业生自荐信
2014/04/13 职场文书
大学生社团活动总结
2014/04/26 职场文书
药品营销策划方案
2014/06/15 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
2014年卫生院工作总结
2014/12/03 职场文书
三年级上册科学教学计划
2015/01/21 职场文书
幼儿园家长心得体会
2016/01/21 职场文书
2016年教师师德师风承诺书
2016/03/25 职场文书