加载已由routerLink加载的Angular组件

时间:2017-08-03 04:58:53

标签: angular

如果用户已经在主菜单中单击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>
    ...

1 个答案:

答案 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;
        }
        ...
}