2014-07-22 138 views
0

父方法我有一個userdetail骨幹視圖和模板。示例代碼是繼承和擴展骨幹

define(
     ['framework/baseclass'], 

     function(baseclass) { 
      var UserDetails = myModule(); 

      UserDetails.Model = Backbone.Model.extend({ 
        // 
      }); 

      UserDetails.Views.Content = Backbone.View 
        .extend({ 
         template : "UserDetails", 

         initialize : function() { 
          //model 
         }, 

         events : { 

         }, 


         render : function(manage) { 

         }, 

         renderOnceDomIsReady : function() { 
          createUserDetailPage(); 
         }, 

         createUserDetailPage: function(){ 
          //use the html template and populate with data and additional look and feel 
         } 
        }, 

         addNewUser: function() 
         { 
         }, 
        }); 


     }); 

將向用戶顯示該視圖以輸入其詳細信息以創建帳戶。

我有一個管理視圖,其中我想告訴管理員用戶userdetail視圖,顯示除了用戶帳戶細節必須在HTML模板中的一些附加元素,將在「userdetail」視圖重寫的事件

用戶詳細信息模板不具有向非管理員用戶顯示的帳戶功能,而當管理員用戶通過管理員視圖查看時,他們將能夠查看此類功能。

有人可能會說爲什麼不把在一個標誌在我的原代碼,非管理員和管理員帳戶之間,然後找出顯示了基於這些特徵。不過我有妨礙我做出這樣的代碼改變限制

。因此,這次遠征保持現有代碼爲的就是,着眼於如何從退出代碼繼承並給予附加功能

+0

是要麼或如果嵌套視圖可能在像父視圖按鈕點擊的事件。我碰到一個github上的插件,嵌套視圖工程和等待團隊負責審查和批准它 – user3865642

+0

這是一文中我讀到:http://www.joezimjs.com/javascript/backbone-js-subview-rendering-trick/ – user3865642

回答

0

創建從另一種觀點認爲,所有你需要做的是延長你的父視圖繼承的視圖。如果你想打電話給父母的方法,你可以使用它的原型做到這一點。

例如

UserDetails.Views.AdminContent = UserDetails.Views.Content.extend({ 

     template:'AdminDetails' //this will override the parent template property 


     events: _.extend({ 
      //add new events here 

     }, UserDetails.Views.Content.prototype.events), 

     initialize : function(options) { 
       //model 
       UserDetails.Views.Content.prototype.call(this,options); 
     } 
}); 
+0

這是邪惡的。 Noob去骨幹,這很好。想知道如果我可以加載一個div裏面的父視圖,並打開按鈕,點擊 – user3865642

+0

格那應該是可行的,我不知道你想正是做什麼,但你也許可以做到通過調用父類的渲染方法對特定DIV。 – Jack

+0

在管理頁面上有一個按鈕'顯示用戶的詳細信息',當點擊時,我想顯示userdetailview,該按鈕將啓用一個div和userdetail視圖將呈現在該div – user3865642