2013-12-13 63 views
0

我下載了Durandal 2.0.1 StarterKit,我正在使用它的Web項目。我現在與它合作了一段時間。canActivate與杜蘭達2.0.1的問題

在我的一個viewmodels中,我在url中使用帶有id的路由:route: 'test/:id'。由於我想防止來自用戶的隨機ID輸入,因此我使用canAvtivate函數,在該函數中執行一些檢查。

當我試圖從另一條路線訪問路線時,canActivate函數在激活之前被評估,但是當我只是更改url中的id值時,函數不會被調用。如果我在該視圖中說router.navigate("#/test/44");,情況也是如此。

這是所需的行爲?

回答

0

這是一個猜測,因爲我還沒有玩過很多參數化路由,但也許活動模塊正在被重用?以下鏈接中的「模塊重用」部分適用於您的情況嗎?

http://durandaljs.com/documentation/Using-The-Router/

也許你可以解決此通過實施canReuseForRoute

+0

通過實施'canReuseForRoute'我設法得到'canActivate'評估。 – razvanz