首頁  >  文章  >  web前端  >  JavaScript的Backbone.js框架環境建構及Hellow world範例_基礎知識

JavaScript的Backbone.js框架環境建構及Hellow world範例_基礎知識

WBOY
WBOY原創
2016-05-16 15:01:371797瀏覽

環境準備
在正式學習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的功能: 在頁面上有一個報道的按鈕,點擊彈出輸入框,輸入內容,確認,最後內容會加到頁面上。頁面圖如下:

201657111923472.jpg (1366×768)

下面來看程式碼:

<!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("请问,您是哪星人&#63;");
            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是用來處理頁面以及簡單的頁面邏輯的。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn