更改页面内容而不更改angular2中的网址

时间:2017-12-05 03:52:48

标签: angular typescript

我通过使用skipLocationChange属性改变了我的路线而没有更改网址。

    ContextHandlerCollection contextHandlerCollection = new ContextHandlerCollection();
    server.setHandler(contextHandlerCollection);

    JettyHttpServerProvider.setServer(server);
    HttpContext context = new JettyHttpServerProvider().createHttpServer(new InetSocketAddress(8888), 5).createContext("/");

    Endpoint endpoint = Endpoint.create(new MyBenchmark.FooServiceImpl());
    endpoint.publish(context);

    server.start();

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

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

如何在角度2中单击锚标记时更改网页内容而不更改网址。

由于

1 个答案:

答案 0 :(得分:1)

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

在app.component.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>

在app.compoenent.ts

     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来保留我的变量值。它工作正常