我正在使用angular 2.0,特別是針對此問題的routing功能。我設置路由的方式如下所示。如何避免由於參數中的斜槓而導致噁心的URL?
const routes: Routes = [
{ path : ':filePath', component: ParentDisplayComponent,
children : [
{ path : 'metadata', component: MetadataDisplayComponent },
{ path : 'data', component : DataDisplayComponent }
]
}
];
因此,大家可以看到,我的一個URL最後可能會變成這樣。
但是,因爲我在做各種各樣的文件瀏覽器,我的「文件路徑」(初始參數)這個樣子。
/foo/bar/baz
爲了使這項工作,我不得不逃避斜線,所以現在我的網址最後看起來像這樣
<host>:<port>/#/%252ffoo%252fbar%252fbaz/metadata
我知道,這或多或少是「精」 ,但我真的很討厭這樣的外觀,並且它不是非常人性化,就手動輸入url而言。有沒有人有任何建議如何讓我的網站更友好?我需要一個跟蹤所選文件的父級組件,這就是爲什麼我沒有這樣做的原因。
<host>:<port>/#/metadata?path=/foo/bar/baz
這樣做的原因是,我想我的應用程序有一個「瀏覽器」(類似於Windows資源管理器),在任何時候,屏幕的左側,在屏幕中間的可交換組件。像這樣的圖片。
___________________________
|___________________________|
| |
|file a | ____________________
|file b | |swappable component|
|file c | ---------------------
|etc... |
這可能就夠了。考慮到我必須有包含斜槓的參數,有沒有人有任何想法,儘可能讓我的網站更好?
不知道爲什麼這是downvoted。我在問一個合理的問題。 – Zack
[angular 2禁用url編碼]可能的重複(http://stackoverflow.com/questions/41476193/angular-2-disable-url-encoding) –
檢查我的答案在這裏:http://stackoverflow.com/questions/ 41476193/angular-2-disable-url-encoding/41995695#41995695 –