2017-08-03 72 views
0

如果用户点击主菜单中的routerLink已经加载了页面或组件,如果用户再次单击该路由器链接,如何重复相同的过程?点击已经点击的路由器链接不起作用。加载已由routerLink加载的角度组件

<ul class="nav navbar-nav" id="menu">   
    <li class="nav-item" id="signup-link"><a class="nav-link" routerLink="signup">Sign up</a></li> 
    ... 
+0

你期望什么样的影响? –

+0

再次加载组件,我希望组件再次加载 –

+0

你是什么意思加载? –

回答

0

最佳做法是调用一个函数被点击时li组件并在功能,您将重新初始化组件的属性。

<ul class="nav navbar-nav" id="menu">   
    <li (click)="reInit()" class="nav-item" id="signup-link"><a class="nav-link" routerLink="signup">Sign up</a></li> 
    ... 

和组件文件:

@Component({ 
     .... 
}); 
export class MyComponent { 
     private property; 
     reInit() { // this will reinitialize property 
      this.property = null; // or 0 or [] etc. 
     } 

     setProperty(value) { // this will alter property 
      this.property = value; 
     } 
     ... 
}