繁体   English   中英

加载routerLink已经加载的Angular组件

[英]Loading Angular component that was already loaded by 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>
    ...

最佳实践是在单击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;
        }
        ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM