2012-02-09 49 views
0

我有一個涉及三個前端開發人員的項目。我們將使用主幹或ember.js,但我有一個問題。如何分離backbone/ember組件?

我一直在使用全局變量的骨幹像下面一行。

Window.mymodel = Backbone.Model.extend({});

由於我們是一個團隊工作,我不認爲這是最好的方法。另外,backbone或ember.js不提供事件系統(發佈或訂閱模式..)。

這種情況下最好的做法是什麼?或者你是如何設法在這樣的項目中工作的?

回答

2

我建議您使用類似這樣的嵌套命名空間模式:

var App = App || {}; 
App.Model = App.Model || {}; 

App.Model.MyModel = Backbone.Model.extend({}); 

(見https://github.com/addyosmani/backbone-fundamentals#namespacing一個很好的寫了這條以上)

或使用AMD裝載機像require.js

define(['Backbone'], 
    function (Backbone) { 

    MyModel = Backbone.Model.extend({}); 

    return MyModel ; 
}); 

... 

require('MyModel', function(MyModel) { 
    var myModel = new MyModel(); 
}); 

對於具有骨幹的事件,您可以在Backbone上背馱式。事件

// Declare globally or pass around 
var app = _.extend({}, Backbone.Events); 

// Trigger an event 
app.trigger("myEvent", model); 

// Catch an event 
app.bind("myEvent", function(model) { 
}); 
+0

謝謝你的建議! – Moon 2012-02-10 01:44:01