簡體   English   中英

如何在命名空間中使用ribs.js?

[英]How do I use backbone.js with namespaces?

我一直在努力使名稱空間在過去約一個小時內與骨干.js一起使用。

我讀過: 如何在JavaScript中聲明名稱空間?

我嘗試了所有方法。 這是問題所在:

Backbone.Controller希望通過構造器(“ new關鍵字”)進行初始化,因為否則將不會設置Backbone.history。 這是我要放入命名空間的代碼,例如“ Site.Controllers”

var MainController = Backbone.Controller.extend({

   routes: {
       "help":                 "help",    // #help
   },

   help: function(){}
});

var ws =  new MainController

每當我嘗試將MainController放入某個命名空間時,belione.js都會抱怨MainController不是構造函數-當然,它確實是構造函數,因為似乎沒有任何方法可以使用構造函數創建命名空間“樹”。 如果你們願意,我可以列出我嘗試過的所有方法,但與上面提供的鏈接完全相同。 我沒有嘗試將其放入閉包中,因為建議這樣做很慢。

var namespace = {
    MainController: Backbone.Controller.extend({ ... }),
    HelpController: Backbone.Controller.extend({ ... }),
    ...
};

我對您要達到的目標感到困惑。 創建命名空間的一種幾乎失敗的方法是:

var namespace = (function() {
    ...

    return {
        ...
    };

})();

同樣,關閉確實確實較慢。 但是,除非您創建數百萬次關閉,否則我不會為此擔心。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM