<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 笑看人生 閱讀(172) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 亚洲情侣偷拍精品| 亚洲国产精品视频| 亚洲第一精品福利| 搡女人免费免费视频观看| 亚洲一区无码精品色| 女人被男人躁的女爽免费视频| 久久久久亚洲av无码专区导航| 久久精品成人免费观看| 亚洲AV无码1区2区久久| 久久国产精品免费看| 亚洲激情在线视频| 无人视频在线观看免费播放影院| 国产又长又粗又爽免费视频| 免费福利资源站在线视频| 亚洲无码精品浪潮| 日本在线看片免费| 亚洲精品国产情侣av在线| v片免费在线观看| 久久久久久国产a免费观看黄色大片 | 亚洲欧洲成人精品香蕉网| 中文字幕的电影免费网站| 亚洲国产精品久久久久婷婷老年| 8x成人永久免费视频| 亚洲中文无码亚洲人成影院| 国产无遮挡吃胸膜奶免费看视频| 日本特黄特色AAA大片免费| 亚洲韩国精品无码一区二区三区 | 无码区日韩特区永久免费系列 | 久久久久国产成人精品亚洲午夜| 国产成人AV免费观看| 亚洲精品人成电影网| 国产午夜免费秋霞影院| 四虎影视无码永久免费| 亚洲日韩乱码中文无码蜜桃臀| 日本免费电影一区| a级毛片毛片免费观看久潮| 亚洲冬月枫中文字幕在线看| 99久久人妻精品免费二区| 亚洲AV女人18毛片水真多| 久久精品亚洲中文字幕无码网站| 黄色短视频免费看|