2014-10-02 150 views
0

我想知道你對這個結構的看法。您在同一頁面中有3個或4個部分。並且您使用主模型來控制另一個模型之間的通信。我在想這是重用de代碼的好習慣。你怎麼看待這件事?骨幹好模型結構

 mainModel(comunication betwen submodel) 
    / | \ 
model model model 

謝謝

+0

您mainModel是什麼意思?在你的圖中,mainModel應該是一個集合,如果你使用主幹方法。你能詳細描述你的問題嗎? – 2014-10-02 11:26:19

+0

好吧,它不是一個集合。我用它來控制和溝通另一種模式。 – 2014-10-02 11:31:09

+0

據我所知你需要事件聚合器。這是應用程序各部分之間進行通信的最佳方式。看看[this](https://github.com/marionettejs/backbone.wreqr)lib,它可能會有所幫助。木偶使用它。 – 2014-10-02 11:39:50

回答

1

我喜歡通過擴展Backbone.Events創建一箇中介...

var App = {}; 
App.Events = _.extend({}, Backbone.Events); 

var MainModel = Backbone.Model.extend({ 
    initialize: function() { 
     App.Events.trigger("my.event"); 
    } 
}); 

var ModelA = Backbone.Model.extend({ 
    initialize: function() { 
     App.Events.on("my.event" this.onEvent, this); 
    }, 
    onEvent: function() {} 
}); 
var ModelB = Backbone.Model.extend({ 
    initialize: function() { 
     App.Events.on("my.event" this.onEvent, this); 
    }, 
    onEvent: function() {} 
}); 
+1

是的。這是想法。我不認爲延長這一事件。我認爲這是一個好主意。真的好主意。謝謝。 – 2014-10-03 12:55:31

+1

我不知道我是否真的想做一個好主意。就是那個問題。 – 2014-10-03 12:56:30

+0

哦,這是一個非常好的主意。我一直這樣做。 – jcreamer898 2014-10-03 18:53:55