我正在開發一個帶durandal的SPA網站。
這裏是我的路由器的配置:當人們直接點擊路由器時如何更改路由器中的網址?
var routes = [{
url: 'profile',
moduleId: 'viewmodels/profile',
name: 'Profile',
visible: true
}, {
url: 'batchOverview',
moduleId: 'viewmodels/batchOverview',
name: 'Batche Overview',
visible: true
}, {
url: 'batch',
moduleId: 'viewmodels/batch',
name: 'Batche Detail',
visible: true
}, {
url: 'page',
moduleId: 'viewmodels/page',
name: 'Page',
visible: true
}];
當人們直接點擊路由器,在地址欄中的URL是這樣的:
http://localhost:7778/#/batch
我想的是,我可以添加paramenters到人們直接點擊路由器時的URL。 的URL可能看起來像這樣:
http://localhost:7778/#/batch?pId=Gridsum&batchId=3
現在我可以用router.navigateTo(URL),使其當人們點擊自定義按鈕。但是當人們直接點擊路由器並動態改變參數時,我需要做到這一點。
我不知道如果我在router.map()中設置一個observable是否會好。但我認爲這不是一個好方法。有沒有更好的解決方法?
當你說:「當我直接點擊路由器」你的意思是當用戶點擊一個鏈接? – Damien
@Damien是的。對不起,我會糾正它。 – wolfgod
那你爲什麼不用這個url設置href的鏈接呢? http:// localhost:7778 /#/ batch?pId = Gridsum&batchId = 3 – Damien