Javascript 当我从登录组件移动到主组件时,如何调用方法?

Javascript 当我从登录组件移动到主组件时,如何调用方法?,javascript,html,angular,angular-ui-router,Javascript,Html,Angular,Angular Ui Router,因此,在我的登录组件中,我生成了一个令牌,允许我从angular应用程序访问Tablaue仪表板 因此,当我当时登录时,只有home组件方法应该调用/运行。但是当我刷新主页(组件)时,不应该运行/调用该方法 范例 login-page.component.ts public getToken(){ // i received token here // then i move to the home page component // saving token into the session

因此,在我的登录组件中,我生成了一个令牌,允许我从angular应用程序访问Tablaue仪表板

因此,当我当时登录时,只有home组件方法应该调用/运行。但是当我刷新主页(组件)时,不应该运行/调用该方法

范例

login-page.component.ts
public getToken(){
// i received token here
// then i move to the home page component
// saving token into the session
this.router.navigate(["/home"]);

}

home-page.component.ts
public  tokenAccess(){
// this method will be run only once when I come from the login page.
// should not run when the page is refreshed or reloaded
}

感谢您

根据您的评论展开,您可以在路由中发送一个查询参数,以指示是否确实在登录页面组件中提取了令牌

登录页面.component.ts

public getToken(){
this.router.navigate([“/home”],{queryParams:{token:true}});
}
生成的路由URL的格式为

http://example/home?token=true
查询参数
token
仅在从登录页面组件路由时出现,而不是在页面刷新或重新加载时出现

主页.component.ts

从'@angular/router'导入{ActivatedRoute};
构造函数(私有_actRoute:ActivatedRoute){}
恩戈尼尼特(){
这是._actRoute.queryParams.subscribe(params=>{

if(params['token']){//如何从登录页转到主页?使用Angular router或其他方法?此.router.navigate([“/home”]);让我尝试一下,当页面刷新和重新加载时,此条件不会失败:/没错。如果参数已可用,则将保留该参数。您可以使用
sessionStorage
查看此解决方法。存储在
sessionStorage
中的变量不会持久化b/n页面刷新/重新加载。订阅后,我们可以删除吗roy这个订阅?理论上你可以,但我最好在
ngondestory()
hook中关闭订阅。