<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

    2016年4月4日

    這部分介紹如何分視圖顯示前面講的表格內容,Backbone中視圖可以嵌套顯示,例如前面例子中整個頁面可以用一個視圖來渲染,table表格可以用一個視圖來渲染,表格中的一行可以用一個視圖來渲染,這樣就用三層視圖,只要在以前的例子上稍作修改就可以實現這效果。

     
    首先定義最里層的視圖,表格中的行。通過tagName成員變量指定該視圖對應的html元素,render方法中指定tr元素中顯示的內容。當然也可以指定成員變量className的值,來指定tr元素顯示的式樣。

         var StudentView = Backbone.View.extend({
             
             tagName: 'tr',
             
             render: function() {
                 $(this.el).html(_.map([
                     this.model.get('id'),
                    this.model.get('name'),
                    this.model.get('age')
                 ],function(val, key){
                     return '<td>' + val + '</td>';
                 }))
                
                return this;
             }
         })

    其次顯示表格的視圖。
         var StudnetCollectionView = Backbone.View.extend({
             
             tagName: 'table',
             
             render: function() {
                $(this.el).empty();
                
                  $(this.el).append($('<tr></tr>')).html(_.map([
                      '學號','姓名','年齡'
                  ],function(val, key){
                      return '<th>' + val + '</th>';
                  }));
                
                  $(this.el).append(_.map(this.collection.models,
                    function(model, key){
                          return new StudentView({
                              model: model
                          }).render().el;
                  }));
                
                return this;
             }
         });

    最后顯示整個頁面的視圖。
         var StudnetPageView = Backbone.View.extend({
             render: function() {
                 $(this.el).html(new StudnetCollectionView({
                     collection: this.collection
                 }).render().el);
             }
         })

    同時修改一下顯示部分的代碼。

        var studentPageView = new StudnetPageView({
                 collection: studentCollection,
                 el: 'body'
             });
     
             studentPageView.render();

    整個main.js的代碼如下:

      (function($){
          $(document).ready(function(){
              
              var student1 = new Student({
                  id: 10000,
                  name: '王小二',
                  age: 30
              });
              
             var student2 = new Student({
                 id: 20000,
                 name: '姚敏',
                 age: 26
             });
             
             var student3 = new Student({
                 id: 30000,
                 name: '科比',
                 age: 24
             });
             
             var studentCollection = new StudentCollection([
                 student1,
                 student2,
                 student3
             ]);
             
             var studentPageView = new StudnetPageView({
                 collection: studentCollection,
                 el: 'body'
             });
     
             studentPageView.render();
             
         });
         
         //set model
         var Student = Backbone.Model.extend({
             //set default values.
             defaults: {
                 id: 0,
                 name: '',
                 age: 0
             }
         });
         
         var StudentCollection = Backbone.Collection.extend({
             model: Student
         });
         
         var StudentView = Backbone.View.extend({
             
             tagName: 'tr',
             
             render: function() {
                 $(this.el).html(_.map([
                     this.model.get('id'),
                    this.model.get('name'),
                    this.model.get('age')
                 ],function(val, key){
                     return '<td>' + val + '</td>';
                 }))
                
                return this;
             }
         })

         //set view
         var StudnetCollectionView = Backbone.View.extend({
             
             tagName: 'table',
             
             render: function() {
                $(this.el).empty();
                
                  $(this.el).append($('<tr></tr>')).html(_.map([
                      '學號','姓名','年齡'
                  ],function(val, key){
                      return '<th>' + val + '</th>';
                  }));
                
                  $(this.el).append(_.map(this.collection.models,
                    function(model, key){
                          return new StudentView({
                              model: model
                          }).render().el;
                  }));
                
                return this;
             }
         });
         
         var StudnetPageView = Backbone.View.extend({
             render: function() {
                 $(this.el).html(new StudnetCollectionView({
                     collection: this.collection
                 }).render().el);
             }
         })
         
     })(jQuery);

    posted @ 2016-04-04 17:40 笑看人生 閱讀(178) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 亚洲色婷婷综合开心网| 嫖丰满老熟妇AAAA片免费看| 亚洲 综合 国产 欧洲 丝袜| 狠狠色伊人亚洲综合成人| 日韩精品免费一线在线观看| av成人免费电影| 久久久久亚洲精品男人的天堂| 偷自拍亚洲视频在线观看| 深夜国产福利99亚洲视频| 成年免费a级毛片| 亚洲精品无码久久久久sm| 97在线视频免费公开视频| 亚洲A∨无码无在线观看| 欧洲亚洲国产精华液| 777成影片免费观看| 亚洲国产午夜福利在线播放| 亚洲人成电影在线观看青青| 日韩欧毛片免费视频| 亚洲6080yy久久无码产自国产| 四虎永久在线免费观看| 国产日韩AV免费无码一区二区三区| 国产福利在线观看免费第一福利| 国产亚洲A∨片在线观看| 久视频精品免费观看99| 亚洲狠狠婷婷综合久久蜜芽| 亚洲精品天堂成人片?V在线播放| 9久热精品免费观看视频| 亚洲色成人网一二三区| 日韩免费视频观看| 亚洲国产高清美女在线观看| 国产精品免费久久| 亚洲男女一区二区三区| 日韩电影免费在线观看| 亚洲国产精品无码AAA片| 97免费人妻无码视频| 青青青视频免费观看| 亚洲网红精品大秀在线观看| 永久免费视频v片www| 国内精品99亚洲免费高清| 亚洲一区二区三区播放在线| 亚洲真人日本在线|