[英]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.