如何第二次调用ngOnInit?

时间:2018-04-24 07:46:43

标签: angular typescript

在我的header.component.ts我存储了值并导航到个人资料页面

this.global.profilevalue = value;
this.router.navigate(["/profile"]);

profile.component.ts的{​​{1}}中,我正在比较该值并调用相应的函数

ngOnInit

以上部分仅适用于第一次,当我在if(this.global.profilevalue == "abc") { this.abc(); } else { this.efg(); } 并点击某个个人资料值时,它不会转到个人资料中的/profile

即使路线为ngOnInit

,我如何访问ngOnInit

1 个答案:

答案 0 :(得分:2)

你可以但是多次调用ngOnInit并不是一个好习惯,相反,你可以在组件加载上使用一些函数,这样你就可以有条件地调用它

像这样

ngOnInit() {
  this.initLoad();
}

initLoad() {
  if(this.global.profilevalue == "abc") {
      this.abc();
  } else {
      this.efg();
  }
}