<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 36, comments - 30, trackbacks - 0, articles - 3

    Backbone學習筆記一

    Posted on 2016-04-02 10:06 笑看人生 閱讀(2553) 評論(0)  編輯  收藏
    項目里用到Backbone+marionet框架,由于以前沒有接觸過這些技術,經過一段時間的學習,覺得這技術還是很強大的,現把
    學習體會總結一下,以便后面查詢。

    Backbone是一個基于MVC模式的前端JavaScript框架,用于前端頁面開發。
    可以從http://backbone.js上下載對應的版本。

    使用Backbone,需要依賴其他一些js庫。
    jQuery  http://jquery.com
    Underscore http://underscorejs.org

    頁面的head元素內容大體如下:
    1 <script src="lib/jquery-2.2.2.js"></script>
    2 <script src="lib/underscore-2.js"></script>
    3 <script src="lib/backbone.js"></script>

    Backbone是一個MVC框架,通過V來展示M的內容,C接受用戶的請求,更新模型,然后刷新V。

    下面以一個例子,來說明怎么建立一個簡單的Backbone應用。

    首先定義一個Model類Student, 需要繼承Backbone.Model,這個類有三個成員變量,id,name,age,套用java中的叫法,其實可能
    不應該這么稱呼。

    1     var Student = Backbone.Model.extend({
    2         //set default values.
    3         defaults: {
    4             id: 0,
    5             name: '',
    6             age: 0
    7         }
    8     });


    然后定義一個View類StudentView,需要繼承Backbone.View, 給這個類的成員變量el賦值 body,指明在頁面的body元素中渲染視圖,
    同時重寫了渲染方法render,指明如何渲染,以下代碼應用jQuery的語法,在el指定的元素內,顯示指定的內容。
    每個視圖綁定一個Model,在View的所有方法中可以直接調用this.model獲取當前View綁定的Model對象,如下例子
    this.model.get('id'),注意獲取model屬性值時,不能直接使用thi.model.id

     1     var StudnetView = Backbone.View.extend({
     2         
     3         el: 'body',
     4         
     5         render:function(){
     6             var html = '學號: ' + this.model.get('id') + '.' +
     7                        '姓名: ' + this.model.get('name') + '.' +
     8                        '年齡: ' + this.model.get('age');
     9     
    10             $(this.el).html(html);
    11         }
    12     });

    定義完模型和視圖類之類,接下來就是創建模型類和視圖類對象,創建方法類似于java中創建對象。
    新建一個model對象student,給對象屬性指定值。
    新建一個view對象,并且指定該view綁定的model對象。
    調用view的渲染方法。

     1     var student = new Student({
     2             id: 10000,
     3             name: '王小二',
     4             age: 30
     5      });
     6         
     7         
     8     var studnetView = new StudnetView({
     9             model: student
    10     });
    11 
    12     studnetView.render();

    至此Backbone的代碼就全部寫完了,只要把這些新建Model和View的代碼放到自定義的js文件中,
    在頁面加載時調用即可,這里自定義js文件名為main.js,內容如下:

     1 (function($){
     2     $(document).ready(function(){
     3         
     4         var student = new Student({
     5             id: 10000,
     6             name: '王小二',
     7             age: 30
     8         });
     9         
    10         
    11         var studnetView = new StudnetView({
    12             model: student
    13         });
    14 
    15         studnetView.render();
    16         
    17     });
    18     
    19     //set model
    20     var Student = Backbone.Model.extend({
    21         //set default values.
    22         defaults: {
    23             id: 0,
    24             name: '',
    25             age: 0
    26         }
    27     });
    28     
    29     //set view
    30     var StudnetView = Backbone.View.extend({
    31         
    32         el: 'body',
    33         
    34         render:function(){
    35             var html = '學號: ' + this.model.id + '.'
    36                        '姓名: ' + this.model.name + '.'
    37                        '年齡: ' + this.model.age;
    38     
    39             $(this.el).html(html);
    40         }
    41     });
    42     
    43 })(jQuery);

    然后再新建一個index.html,內容如下:

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8">
     5         <title>Backbone.js 1</title>
     6         <script src="lib/jquery-2.2.2.js"></script>
     7         <script src="lib/underscore-2.js"></script>
     8         <script src="lib/backbone.js"></script>
     9         <script src="js/main.js"></script>
    10     </head>
    11     <body>
    12         
    13     </body>
    14 </html>

    最后,在瀏覽器中打開這個文件,就可以看到效果了。


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲av成人片在线观看| 成人免费视频88| 老司机午夜免费视频| 91亚洲一区二区在线观看不卡 | 亚洲中文字幕无码中文字在线| 四虎永久在线观看免费网站网址| 韩国免费a级作爱片无码| 亚洲人av高清无码| 亚洲美女色在线欧洲美女| 一本色道久久综合亚洲精品| 午夜国产大片免费观看| 啦啦啦高清视频在线观看免费| 久久国产精品2020免费m3u8| 国产成人无码免费看片软件| 色偷偷噜噜噜亚洲男人| 亚洲欧美日韩一区二区三区在线| 亚洲国产精品VA在线观看麻豆| 亚洲情侣偷拍精品| www.亚洲精品.com| 在线观看91精品国产不卡免费| 性色av无码免费一区二区三区| 亚洲免费视频在线观看| 三级网站免费观看| 中国国语毛片免费观看视频| 人妻仑乱A级毛片免费看| 亚洲国产精品无码中文lv| 亚洲看片无码在线视频| 亚洲午夜电影一区二区三区| 亚洲男女性高爱潮网站| 亚洲视频一区二区在线观看| 精品日韩亚洲AV无码一区二区三区 | 亚洲精品视频久久久| 亚洲第一成人影院| 亚洲爽爽一区二区三区| 中文字幕人成人乱码亚洲电影| 在线观看午夜亚洲一区| 亚洲色婷婷综合久久| 久久青青草原亚洲AV无码麻豆 | 中文字幕版免费电影网站| a视频在线观看免费| 免费91麻豆精品国产自产在线观看 |