2、通过helloworld来认识下backbone

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

http://www.the5fire.com/wp-content/uploads/2012/03/helloworld.png

下面来看代码:

<!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是用来处理页面以及简单的页面逻辑的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值