2014-02-10 38 views
0

對Durandal 2.0.1使用HTML Starter Kit示例。應該Durandal網址哈希包含ID?

如果我爲客戶/:使用我自己的虛擬機和視圖添加路由,我可以導航到頁面c://temp/index.html#customer/123,頁面顯示和激活時,我可以看到參數爲123.但是,該頁面的散列顯示爲customer /:id路由器是否應自動更新這些散列以包含任何傳遞的參數,或者這是我必須自己做的事情?

+0

確保通過Web服務器運行該示例,而不是從文件系統運行該示例。 – RainerAtSpirit

+0

同樣的事情發生。當我創建路由時,我已經設置了nav:true,所以當它顯示在shell標籤中時,哈希值是#customer /:id,它反映了我所要求的內容。我認爲這個問題是我想要動態創建的標籤,因爲我去#customer/123,而我沒有得到它們。看到問題http://stackoverflow.com/questions/21677597/how-to-dynamically-display-tabs-for-routes-in-durandal –

+0

看起來像我想念你的問題。發佈您的路由器配置,視圖和視圖模型。請解釋一下你期望在這些地方發生的事情,以及發生的後果。 – RainerAtSpirit

回答

0

可能有一個解決這個問題的方法,但如果您打算使用散列並且您有Id或可選的Id內容,那麼您可以使用此輔助程序進行導航並清理散列,如果需要 -

function changeRoute(route) { 
    var cleanRoute = route.hash; 
    if (cleanRoute.indexOf(':id') !== -1) { 
     cleanRoute = cleanRoute.replace(':id', ''); 
    } 
    return router.navigate('#' + thisRoute); 
} 

或者您可以輕鬆地添加一個額外的路徑設置作爲清理哈希。