環境の準備
Backbone を正式に学習する前に、いくつかの準備をする必要があります:
まず、Backbone フレームワークのソース ファイルを取得する必要があります: http://documentcloud.github.com/backbone/
Backbone は Underscore フレームワークの基本メソッドに依存しているため、Underscore フレームワークのソース ファイルもダウンロードする必要があります: http://documentcloud.github.com/underscore/
Backbone では、DOM とイベントの操作はサードパーティ ライブラリ (jQuery や Zepto など) に依存します。ダウンロードするものを選択するだけです:
。
jQuery: http://jquery.com/
ゼプト: 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 を実行するために必要な環境が準備されました。
ハローワールド
まず、この helloworld の機能について説明します。ページにはレポート ボタンがあり、ポップアップ入力ボックスをクリックして内容を入力し、確認すると、最後に内容がページに追加されます。ページの画像は次のとおりです:
以下のコードを見てください:
<!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>
このコードには、後述するバックボーン、ビュー、モデル、コレクションの 3 つの部分が含まれており、ここでモデルがデータ モデルを表し、コレクションがモデルのコレクションであることを理解できればと思います。 、およびビュー ページと単純なページ ロジックを処理するために使用されます。