代码之家  ›  专栏  ›  技术社区  ›  kamalav

在angular2中更改页面内容而不更改url

  •  0
  • kamalav  · 技术社区  · 7 年前

    我使用下面的skipLocationChange属性更改了路径,但没有更改url。

    <a [routerLink]="['/articledetail']" skipLocationChange><h4>{{article.HeadLine}}</h4></a>
    

    但当我刷新页面时,它会转到上一条路线。

    然后,我使用ngIf通过在方法中设置变量值来检查变量值,该方法在单击锚标记时被调用,。但在这里,我的内容也是刷新页面后的先前内容

    在angular 2中单击锚定标记时,如何在不更改url的情况下更改页面内容。

    谢谢

    1 回复  |  直到 7 年前
        1
  •  1
  •   kamalav    7 年前

    我使用ngIf检查变量值,方法是在单击锚标记时调用的方法中设置变量值,。但在这里,我的内容也是刷新页面后的先前内容

    应用程序内。组成部分html

                <div class="row b-r" *ngIf="region==='INDIA'">
                 INDIA Region
                .........
                .........
                </div>
               <div class="row b-r" *ngIf="region==='US'">
    
                US Region
                ................
                 ..............
                 .....
               </div>
           <a role="menuitem" tabindex="-1" [routerLink]="'/'" 
           (click)="ChangeRegion('US')">US</a>
           <a role="menuitem" tabindex="-1" [routerLink]="'/'" 
            (click)="ChangeRegion('INDIA')">INDIA</a>
    

    应用程序内。成分。输电系统

         ngOnInit() {
    
              //Using localstorage for retaining region value after refreshing the page
           if (localStorage.getItem("region") === null) {
              this.region = "INDIA";
             }
          else {
           this.region = localStorage.getItem("region");
            }
          }
             region: string;
    
        ChangeRegion(region) {
           this.region = region;
    
         localStorage.setItem("region", this.region);
    
            }
    

    因此,我在刷新页面后使用localstorage保留变量值。很好用