2016-10-07 96 views
2

有誰知道在Aurelia中添加尾部斜線的方法,使用<a route-href="route: route_name; params.bind: {...}">${link.title}</a>生成的URL上嗎?Aurelia JS在URL上的尾部斜線

我試過修改navModel,我在routerConfig中搜索了一個可以做到這一點但沒有找到的選項。

PS:我正在使用HTML5 pushState並刪除了散列。

config.options.pushState = true; 
config.options.hashChange = false; 

UPDATE

我結束了針對router:navigation:complete事件來實現這一目標。這是在我看來,一個醜陋的黑客攻擊,但如果給我什麼,我需要:

this.eventAggregator.subscribe('router:navigation:complete', 
    if (!/\/$/.test(window.location.pathname)) { 
     window.history.replaceState({}, document.title, window.location.pathname + '/'); 
    } 
}); 
+0

你試過在路由配置中添加尾部斜線嗎? –

+0

不同的情況在這裏:我正在使用FB.getLoginStatus,我只需要這個根URL(似乎FB重定向URI總是用尾部的斜槓擴展)。我在主要路線中嘗試了''和'/' - 網址沒有結尾的斜線。 – andy250

+0

順便說一句:你在哪裏放了訂閱代碼? – andy250

回答

0

您可以在params.bind的末尾添加+'/'。像這樣:

<a route-href="route: route_name; params.bind: {... + '/'}">${link.title}</a> 
+0

這似乎工作,但我正在尋找一個更具可配置性的解決方案,其中一個也針對沒有'params'並且不需要手動更新所有使用'route-href'的地方的路由。 – BogdanArvinte

+0

是的,我知道你的意思。還沒有找到更優雅的解決方案。到目前爲止,我已經把'/'放在一個常量中以避免你提到的問題。如果您找到更好的解決方案,請將其發佈。 –