Angular 如何通过路由路径从组件调用指定的方法?
我有以下路线规则:Angular 如何通过路由路径从组件调用指定的方法?,angular,Angular,我有以下路线规则: { path: 'logout', component: LoginComponent, data: { title: extract('Login') } }, 单击后,我需要在组件LoginComponent中调用方法logout 我的链接是: <a class="nav-link topRightLink" routerLink="/logout">Logout</a> 注销 在LoginComponent中,您有一个方法注销()您只需单击
{ path: 'logout', component: LoginComponent, data: { title: extract('Login') } },
单击后,我需要在组件LoginComponent
中调用方法logout
我的链接是:
<a class="nav-link topRightLink" routerLink="/logout">Logout</a>
注销
在LoginComponent
中,您有一个方法注销()
您只需单击链接即可调用它,如下所示:
this.router.navigate(['/logout']);
注销
然后在注销
方法中,您可以使用如下路由器进行路由:
this.router.navigate(['/logout']);
这使您可以在路由之前灵活地在中执行其他操作。
您必须导入路由器:
import {Router} from '@angular/router';
然后将其注入您的LoginComponent
使用
<a class="nav-link topRightLink" [routerLink]="['/logout']">Logout</a>
一个方法不需要整个组件。特别是在没有视野的情况下。而且也不需要路由器
将logout()方法放在组件的右侧,
标记是:
查看:
<a class="nav-link topRightLink" (click)="logOut()" >Logout</a>
logOut(){
//remove the local storage content, display a message, redirect to login page, etc..
}
如果您希望在应用程序中共享该功能,还可以调用共享服务方法
logOut(){
this.sharedService.logOut();
}
但是,如果我在另一个组件中有方法,您可以使用@Output decorator与其他组件共享该方法,或者您可以通过服务访问它,这样您就可以为它创建一个服务,并在需要的地方注入该服务。您需要调用一个方法吗?或者您想重定向?您的答案中有语法错误(缺少一些引号)。我试图修复该示例,请告诉我我的编辑是否不正确,因此如果需要,我将取消该示例。您不能在ngOnInit
中执行此操作吗?