可以獲取當前組件的名稱嗎?獲取當前組件的名稱
例如,如果我有localhost:3000/en/mycomponent
,我會以this.router.url
返回/en/mycomponent
這是/language/component
我想要重定向語言的變化。
我可以讓
this.router.navigate([this.lang, my component here]);
但我怎麼可以從路由獲取電流分量?
可以獲取當前組件的名稱嗎?獲取當前組件的名稱
例如,如果我有localhost:3000/en/mycomponent
,我會以this.router.url
返回/en/mycomponent
這是/language/component
我想要重定向語言的變化。
我可以讓
this.router.navigate([this.lang, my component here]);
但我怎麼可以從路由獲取電流分量?
我遇到了與上述相同的問題,並能夠使用以下命令檢索組件名稱: this.route.routeConfig.component.name。這返回了一個我們可以比較的字符串值。
你可能會得到該組件名稱,如下面,
export class MyComponent{
constructor(
private route: ActivatedRoute,
private router: Router
) {
// Below will result in MyComponent
console.log(this.route.component.name);
}
}
說了這麼多路由基於路徑,而組件的名稱。
希望這有助於!
只有組件名稱是不夠的。你可能需要的其他選項等..
如果第一段永遠是你的language
,像這樣做:
let urlSegments = this.route.url.split('/');
urlSegments[1] = this.lang;
this.router.navigate(urlSegments.join('/'));
您確切的要求是什麼?它不清楚你的問題。你可以解釋嗎? – micronyks
可以獲取組件名稱。但是,當前組件名稱是什麼意思? – micronyks
@micronyks當前組件名稱意味着我想要檢測哪個組件是I.我想從服務 中調用它,例如,如果我位於'/ en/homecomponent'中我想要獲取名稱,它是'homecomponent ' – gsiradze