0

I am using angular 2 and I have saved my values in local storage but when I am opening mylogin model values are not coming and when i am clicking on login button then login is successful but values are not showing on html view.

Login page :enter image description here

When i am refreshing the page values are coming but second time again values are not coming to view but in cde it is coming.

html code:

   <form (ngSubmit)="onSubmit(loginModel)" class="form-horizontal cform-1" #loginForm="ngForm">
                    <div class="form-group login-input">
                        <div class="col-sm-6">
                            <input type="text" class="form-control" [(ngModel)]="loginModel.username" name="username" #username="ngModel" placeholder="Username" required />
                        </div>
                        <div class="col-sm-6">
                            <input type="password" class="form-control" [(ngModel)]="loginModel.password" name="password" #password="ngModel" placeholder="Password" required />
                        </div>
                    </div>
                    <div class="form-group">
                        <div class="col-sm-6">
                            <input type="checkbox" [(ngModel)]="remember" name="remember" />
                            <label class="form-check-label">Remember me </label>
                            <!--<label class="form-check-label">
                                <input type="checkbox" [(ngModel)]="remember" name="remember" />
                                <label>Remember me </label>
                            </label>-->
                        </div>
                    </div>
                    <div class="form-group">
                        <div class="col-sm-12">
                            <p class="forgot"><a (click)="gotoForget($event)">Forgot your Password?</a></p>
                        </div>
                        <div class="col-sm-12">
                            <input type="submit" [disabled]="!loginForm.form.valid" class="btn btn-success" value="Login" />
                        </div>
                    </div>
                </form>

my typescript code:

  ngOnInit() {
    if (localStorage.getItem('userData') != null) {
        this.router.navigate(['']);
    }
    if (localStorage.getItem('userRememberedData') != null) {
        this.loginModel = JSON.parse(localStorage.getItem('userRememberedData'));
        this.remember = true;
    }
    //this.loginModel= new LoginUser();
}

1 Answers1

-1

This will happen when you did't define this.loginModel on controller top and that's way it will take as null and it will give error as username is not property of loginModel.

Declare loginModel at the top of controller with the blank value.

Ebg Test
  • 91
  • 1
  • 11
  • I want values to come on username and pasword –  Feb 12 '18 at 06:26
  • I have tried with blank value also but it is not working –  Feb 12 '18 at 06:38
  • Try to use the following steps it might be help to you: https://stackoverflow.com/questions/31623879/angular-2-two-way-binding-using-ngmodel-is-not-working. Or create fiddler for the check issues. – Ebg Test Feb 12 '18 at 06:58