2011-11-25 20 views
1

我安排我的主幹應用,因爲在此頁http://weblog.bocoup.com/organizing-your-backbone-js-application-with-modules主幹應用組織

描述對於那些誰沒有看過一篇文章,我將簡單介紹一下的想法: 我定義單個變量,將持有的所有模塊,我。

var Application = { 
    module: function(){ 
    var modules = {}; 
    return function(name){ 
     if (typeof modules[name] == 'undefined') 
     { 
     modules[name] = { 
      Model: {}, 
      Collection: {}, 
      Views: {}, 
     } 
     } 
     return modules[name]; 
    }; 
    }() 
}; 

Application.module是一個按名稱返回模塊的函數。然後,我定義我的應用模塊如下:

(function(chat){ 
    chat.Model = Backbone.Model.extend({ ... }), 
    chat.Collection = Backbone.Collection.extend({ ... }), 
    etc. 
})(Application.module('Chat')); 

一切似乎是確定 - 所有的代碼被分成模塊,但是當我試圖從模塊的一個類實例化一個變量。上述

$(document).ready(function(){ 
    var foo = new Application.module('Chat').Collection(); 
}); 

代碼給我骨幹的「遺漏的類型錯誤:無法未定義的讀取屬性‘綁定’」的錯誤,我不明白爲什麼?

回答

0

我上週也看到了這個錯誤...你包括underscore.js正確嗎? 在我的情況下,我在頁面中包含了underscore.js,但在backbone.js引用之後。

underscore.js真的必須加載之前骨幹可以做的事情:)

做這樣的:

<script src="underscore.min.js"></script> 
<script src="backbone.min.js"></script>