Angularjs 2 beta,在不同的浏览器会话中更新相同的数据

时间:2016-09-20 08:35:54

标签: angular typescript

我正在使用Angular js beta版并创建了一个登录应用程序。当我在多个浏览器或多个浏览器选项卡中打开此应用程序并尝试在一个文本框中编写一些文本(如用户名)时,它会在所有浏览器会话中更新相同的用户名同时进行。

以下是我的代码`

    <div class="row" >
        <img src="./app/assets/images/20160113hoVirtualATM.jpg" 
             class="img-responsive center-block"
             style="max-height:300px;padding-bottom:50px"/>
    </div>
    <div class="row"  class="text-center" >
        <div>Login to Cardless Money</div>
        <br>
        <input class="center" type="text" name="userName" placeholder="User name" [(ngModel)]='userName'/>
        <br><br>
        <input class="center" type="password" name="password"  placeholder="Password" [(ngModel)]='password'/>
        <br><br>
       <button class='btn btn-primary' (click)='authenticate()'>
                        Login
          </button>
        <!-- <a [routerLink]="['Welcome']">Login</a> --> 
          <br><br>
           <a [routerLink]="['Signup']">Sign Up</a>
    </div>

</div>

`

这是我的welcome.component.ts-

constructor(public router: Router,
private _cardService: CardService) {}

authenticate(): void {
this.errorMessage="";
 this._cardService.authenticateUser(this.userName, this.password)
                 .subscribe(
                   isUserAuthenticated => this.isUserAuthenticated = isUserAuthenticated,
                   error =>  this.errorMessage = <any>error);
console.log(this.isUserAuthenticated);
if(this.isUserAuthenticated.success === 'true'){
   this.router.parent.navigateByUrl('/landing?userName='+this.userName);
}else{
    this.errorMessage = 'Invalid User Credentials'; 
}


}

1 个答案:

答案 0 :(得分:0)

这是因为运行应用程序的lite服务器已经与应用程序同步了浏览器。您在应用程序中执行的任何更改都将刷新运行应用程序的所有浏览器/选项卡。