2013-11-09 54 views
0

我不明白我做錯了什麼。我試圖用骨幹佈局管理我的應用程序和下面的簡單代碼導致錯誤:「不能調用方法'的未定義」無法調用未定義的方法'綁定' - Backbone LayoutManager

綁定這是我main.js文件:

require.config({ 
    paths: { 
     jquery: 'libs/jquery', 
     underscore: 'libs/underscore', 
     backbone: 'libs/backbone', 
     layoutManager: 'libs/backbone.layoutmanager', 
     knockout: 'libs/knockout', 
     templates: '../templates' 
    }, 

    shim: { 

     backbone: { 
      deps: ['jquery','underscore'], 
      exports: 'Backbone' 
     }, 
     layoutManager: { 
      deps: ['jquery','underscore', 'backbone'], 
      exports: 'LayoutManager' 
     } 
    } 

}); 

require([ 
    'app', 
    'backbone', 
    'layoutManager' 
], function(App, Backbone, LayoutManager) { 

     // Set all Views to be managed by LayoutManager. 
    Backbone.Layout.configure({ manage: true }); 

    App.initialize(); 

}); 

任何想法是什麼導致這個錯誤?

+0

哪條線路造成這種情況?異常來源於哪個庫?不知道這是否是您的所有代碼,但缺少的一件事就是Underscore的「shim」(它不符合AMD標準),不確定是否有淘汰賽。 – kryger

回答

0

根據您使用的LayoutManager版本的不同,可能是因爲您填充不正確。最新的LayoutManager支持AMD,所以墊片是不必要的。

正如您收到的@ kryger的評論所指出的那樣,請確保下劃線已被正確填充。我敢打賭,這是你的問題。

shim: { 
    backbone: { 
     deps: ['jquery', 'underscore'], 
     exports: 'Backbone' 
    }, 

    underscore: { exports: '_' } 
} 

您還可以檢查出的文檔,配置AMD:https://github.com/tbranyen/backbone.layoutmanager/wiki/Installation#asynchronous-module-definition-amd

^^我已經更新了上述以包含下劃線勻場也行。

相關問題