2014-07-09 73 views
-1

我需要一些關於如何構建主幹/牽線木偶應用程序的通用指南。我對這些框架以及一般的js都很陌生。通用主幹/牽線木偶程序結構

基本上我有兩頁,每頁都有一個列表。我已經建立了一個應用程序,該應用程序路由器:

var app = new Backbone.Marionette.Application(); 

app.module('Router', function(module, App, Backbone, Marionette, $, _){ 
    module.AppLayoutView = Marionette.Layout.extend({ 
     tagName: 'div', 

     id: 'AppLayoutView', 

     template: 'layout.html', 

     regions: { 
      'contentRegion' : '.main' 
     }, 

     initialize: function() { 
      this.initRouter(); 
     }, 

     ... 
    }); 

    module.addInitializer(function() { 
     var layout = new module.AppLayoutView(); 

     app.appRegion.show(layout); 
    }); 
}); 

在initRouter我有兩個功能,一是爲每個被通過路由器根據URL稱爲頁面。

的內容管理頁面中的功能是這樣的:

onCMNavigated: function(id) { 
    var cMModule = App.module("com"); 
    var cM = new cMModule.ContentManagement({id: id, region: this.contentRegion}); 
    contentManagement.show(); 

    this.$el.find('.nav-item.active').removeClass('active'); 
    this.cM.addClass('active'); 
} 

因此,如果這就是所謂的,我創建了內容管理模式的新實例。在這個模型中,show()被調用時,我從rest api中獲取數據,然後解析出需要在列表視圖中顯示的橫幅數組。這可以嗎?該模型如下所示:

cm.ContentManagement = Backbone.Model.extend({ 

    initialize: function (options) { 
     this.id = options.id; 
     this.region = options.region; 
    }, 

    show: function() { 
     var dSPage = new DSPage({id: this.id}); 

     dSPage.bind('change', function (model, response) { 
      var view = new cm.ContentManagementLayoutView(); 

      this.region.show(view); 
     }, this); 

     dSPage.fetch({ 
     success: function(model, response) { 
      // Parse list of banners and for each create a banner model 
     } 
    } 
}); 

cm.ContentManagementLayoutView = Marionette.Layout.extend({ 
    tagName: 'div', 

    id: 'CMLayoutView', 

    className: 'contentLayout', 

    template: 'contentmanagement.html', 

    regions: { 
     'contentRegion' : '#banner-list' 
    } 
}); 

現在我最大的疑問是我如何去從這裏顯示的旗幟列表?我爲橫幅列表創建了一個collectionview和項目視圖,但是這個程序結構是否正確?

+0

對不起,但在我看來,你有點兒遍佈這裏:你有一個佈局(這是一個視圖)實例化一個路由器,也是一個生成佈局視圖的模型。路由器應該是自己的模塊,然後告訴控制器要做什麼。控制器使用集合和模型實例化佈局和視圖。我只能建議(購買和)閱讀在木偶網站上提供的書籍。這真是花了很多錢。 – christian314159

+0

謝謝,我也意識到了。所以我讀了一些文件,並根據你也建議的結構重新啓動它。 – user3821383

回答

0

你真的需要marionnete來管理你的應用程序嗎?特別是你也是我的初學者:) 先嚐試純粹的骨幹。你仍然可以使用木偶作爲圖書館。主幹MVC體系結構在許多網站上被完美地描述。

+0

這應該是一條評論。 –

+0

我知道。我還沒有一個徽章來評論問題(不知道爲什麼現在這允許我,昨天它不是) – rafal

+0

你應該專注於回答與實際答案的問題。達到所要求的聲望級別並不難,但如果不遵守網站的規則,您將永遠無法達到目標。 –

相關問題