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 相关文章推荐
我也种棵OO树JXTree[js+css+xml]
Apr 02 Javascript
javascript 放大镜 v1.0 基于Yui2 实现的放大镜效果
Mar 08 Javascript
JS面向对象编程之对象使用分析
Aug 19 Javascript
单元选择合并变色示例代码
May 26 Javascript
jscript读写二进制文件的方法
Apr 22 Javascript
每天一篇javascript学习小结(基础知识)
Nov 10 Javascript
JS显示日历和天气的方法
Mar 01 Javascript
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
Aug 16 Javascript
JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转
Nov 25 Javascript
在vue中实现echarts随窗体变化
Jul 27 Javascript
vue实现单一筛选、删除筛选条件
Oct 26 Javascript
Vue router配置与使用分析讲解
Dec 24 Vue.js
深入解析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
Drupal读取Excel并导入数据库实例
2014/03/02 PHP
php动态读取数据清除最右边距的方法
2017/04/12 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
List Information About the Binary Files Used by an Application
2007/06/18 Javascript
javascript 关闭IE6、IE7
2009/06/01 Javascript
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
2012/11/08 Javascript
解析使用JS 清空File控件的路径值
2013/07/08 Javascript
javascript调试过程中找不到哪里出错的可能原因
2013/12/16 Javascript
jquery统计用户选中的复选框的个数
2014/06/06 Javascript
15款最好的Bootstrap在线编辑器
2016/08/03 Javascript
利用JQuery阻止事件冒泡
2016/12/01 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
2017/07/17 jQuery
vue 监听屏幕高度的实例
2018/09/05 Javascript
layui自定义工具栏的方法
2019/09/19 Javascript
微信公众号网页分享功能开发的示例代码
2020/05/27 Javascript
jQuery实现简单QQ聊天框
2020/08/27 jQuery
javascript实现数字时钟效果
2021/02/06 Javascript
python 排列组合之itertools
2013/03/20 Python
Python发送form-data请求及拼接form-data内容的方法
2016/03/05 Python
Python自动化测试ConfigParser模块读写配置文件
2016/08/15 Python
IntelliJ IDEA安装运行python插件方法
2018/12/10 Python
使用HTML5做个画图板的方法介绍
2013/05/03 HTML / CSS
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
光声世纪笔试题目
2012/08/25 面试题
大学生优秀的自我评价分享
2013/10/22 职场文书
市场营销毕业生自荐信
2013/11/23 职场文书
物业保安员岗位职责
2014/03/14 职场文书
静心口服夜广告词
2014/03/20 职场文书
2014年教师节演讲稿
2014/09/03 职场文书
停车位租赁协议书
2014/09/24 职场文书
初中学生操行评语
2014/12/26 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书
税务会计岗位职责
2015/04/02 职场文书
2015年政风行风工作总结
2015/04/21 职场文书
导游词之安徽九华山
2019/09/18 职场文书