2015-10-27 26 views
0

我是杜蘭達爾的新手。我只是想知道是否有一種方法可以通過查詢字符串或任何其他方式將變量傳遞給根視圖模型(也稱爲shell)?如何將變量傳遞到殼體或根視圖模型中

所以main.js看起來像你可以做類似什麼的下面寫在shell.js文件的東西下面

define(['durandal/app'], function (app) { 
    app.configurePlugins({ 
    router: true 
    }); 

    app.start().then(function() { 
    app.setRoot('shell'); 
    }); 
}); 

。 我嘗試過,但它不工作

function activate(variableIwantToPass) { 
    doSomething(variableIwantToPass); 
    configureRoutes(variableIwantToPass); 
    return router.activate(); 
} 

function configureRoutes(variableIwantToPass) { 
    var specialRoute = 'bar'; 
    if(variableIwantToPass == 'foo') { 
    specialRoute = foo; 
    } 
    var routes = [ 
    { 
     route: '', 
     moduleId: 'home' 
    }, 
    { 
     route: 'doThings/:specialRoute/', 
     moduleId: 'orchestrator' 
    } 
    ]; 

    router.makeRelative({ moduleId: 'viewModels'}).map(routes); 
} 

我無法撥打電話的服務來獲得在shell作爲信息/可變我要傳遞到通向該頁面的數據spa作爲查詢字符串參數。

那麼,是否有可能將某些東西傳遞到shell中,或者是否有其他替代方法來實現我想要的。就像創建一個cookie來存儲這個變量並通過shell.js中的javascript讀取它?

+0

「你能像shell.js文件中的下面這樣東西嗎」對我來說沒有任何意義,你可能可以重述一下嗎? – Shelvacu

回答

0

在生產ENV中,在shell之前進行某些計算幾乎是強制性的。例如,看看Github上的Durandal.Auth以及如何處理身份驗證以及將令牌信息存儲在會話存儲中並在shell中進行訪問。

相關問題