簡體   English   中英

聲明Marionette / Backbone路由器沒有未使用的變量 - JSLint

[英]Declaring Marionette/Backbone Router without unused variable - JSLint

我現在處於重構階段,在聲明和實例化木偶路由器時,我得到了熟悉的“未使用變量”JSLint。 這是我的代碼:

App.Application.addInitializer(function () {

        var globalRouter = new App.Routers.GlobalRouter({
            controller: new App.Controllers.GlobalController()
        });

        //Start Backbone History
        Backbone.history.start();

});

我得到的錯誤是:

 unused 'globalRouter'

基本上,我在啟動應用程序之前使用變量聲明來創建路由器。 我試圖避免這樣做:

       new App.Routers.GlobalRouter({
            controller: new App.Controllers.GlobalController()
        });

因為它只是引入了一個不同的JSLint錯誤,說'不要使用'new'用於副作用'。 有沒有人對此有任何建議?

另外,我試過添加:

 /*jslint unparam: true */

但這不起作用:(

以下代碼值得商榷,但您可以像這樣使用IIFE:

App.Application.addInitializer(function () {
    (function(){
        return new App.Routers.GlobalRouter({
            controller: new App.Controllers.GlobalController()
        });
    }());
});

或者使用中間變量:

App.Application.addInitializer(function () {
    (function(){
        var router = new App.Routers.GlobalRouter({
            controller: new App.Controllers.GlobalController()
        });
        return router;
    }());
});

在旁注中,由於您正在重構,我將在“initialize:after”偵聽器中啟動history ,以確保在觸發路由事件之前已初始化所有路由控制器。

暫無
暫無

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

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