我有一個頁面,其基址爲/ foo /,並且已將狀態設置爲期望param。Angular 1 UI-Router - HTML5模式參數URL始終以正斜槓結尾
因此,如果用戶點擊/ foo/user1 /,則user1是參數。
是否可以觀察這兩種類型的網址?例如,我可以在相同狀態下聲明/ foo/user1 /和/ foo/user1(注意,沒有正斜槓),還是需要創建另一個狀態來專門觀察尾部斜槓?
目前,它可以是其中一個,也可以不是兩個。這是一個準確的聲明,還是我在文檔中丟失了一些東西?
我有一個頁面,其基址爲/ foo /,並且已將狀態設置爲期望param。Angular 1 UI-Router - HTML5模式參數URL始終以正斜槓結尾
因此,如果用戶點擊/ foo/user1 /,則user1是參數。
是否可以觀察這兩種類型的網址?例如,我可以在相同狀態下聲明/ foo/user1 /和/ foo/user1(注意,沒有正斜槓),還是需要創建另一個狀態來專門觀察尾部斜槓?
目前,它可以是其中一個,也可以不是兩個。這是一個準確的聲明,還是我在文檔中丟失了一些東西?
如果你正在使用的ui-router
最新版本添加這個在配置塊$urlMatcherFactoryProvider.strictMode(false)
但對於舊版本的ui-router
添加以下代碼
$urlRouterProvider.rule(function ($injector, $location) {
var path = $location.url();
// check to see if the path already has a slash where it should be
if (path[path.length - 1] === '/' || path.indexOf('/?') > -1) {
return;
}
if (path.indexOf('?') > -1) {
return path.replace('?', '/?');
}
return path + '/';
});
你應該結帳他們FAQ區,有一個trailing slash
專用部分該規則正是我所期待的。我正在使用最新版本,但$ urlMatcherFactoryProvider.strictMode(false)沒有執行我正在尋找的行爲。感謝您提供這兩個選項,希望我可以投票答覆兩次! – spez86
也許這就是你想要的 - https://github.com/angular-ui/ui-router/wiki/frequently-asked-questions#how-to-make-a-trailing-slash-optional-for -all-routes –