Как использовать login () для перехода на HomePage с помощью небулярной библиотеки auth / login? - PullRequest
0 голосов
/ 28 марта 2019

Я недавно создал Angular Project с установленной небулярной библиотекой.Я хочу создать 3 страницы. (Вход, Регистрация и Домой).Я уже создал страницу входа и регистрации с помощью встроенных NbLoginComponent и NbRegisterComponent соответственно.Теперь я хочу перейти на HomePage, как только я нажму на кнопку входа в NbLoginComponent.(В основном я хочу использовать этот login () для перехода на HomePage) после того, как пользователь успешно войдет в систему. Итак, где мне нужно для достижения такой функциональности?

Сейчас я не могу сделать что-либо подобноеостается на той же странице с NbLoginComponent.

Simillarly, для NbRegisterComponent, если я использую, как только пользователь успешно выполнит регистрацию, я хочу перейти на страницу входа ---> после успешного входа -> Домашняя страница.

Так гдемне нужно добиться такой функциональности с небулярной библиотекой?

У меня уже есть связанные с небулярной / аутентификацией страницы, такие как вход в систему, регистрация, выход из системы и т. д. (с последней версией Angular 7 и новейшей небулярной библиотекой).

Только код NbLoginComponent и NbRegisterComponent

Ожидается: при использовании login () из NbLoginComponent необходимо перейти на домашнюю страницу после успешного входа. И при использовании register () из NbRegisterComponent необходимо перейти к loginPage после успешной регистрации.

Фактически: в обеих вышеперечисленных ситуациях он остается на одной странице (означает, что после нажатия кнопки входа в систему после успешного входа он остается на той же странице входа, аналогично для регистрации.).

1 Ответ

1 голос
/ 17 мая 2019

Если вы используете NbLoginComponent.js как есть и создали свою страницу в функции decorate, то я предлагаю вам добавить следующий код в метод login () следующим образом -

NbLoginComponent.prototype.login = function () {
    var _this = this;
    this.errors = [];
    this.messages = [];
    this.submitted = true;

    this.service.authenticate(this.strategy, this.user).subscribe(function (result) {
        _this.submitted = false;
        if (result.isSuccess()) {
            _this.messages = result.getMessages();
            _this.router.navigateByUrl("/homepageurl");
        }
        else { 
            _this.errors = result.getErrors();
        }
        _this.cd.detectChanges();
    });
};

Вы будете перенаправлены на домашнюю страницу. Точно так же вы можете добавить

_this.router.navigateByUrl ( "/ Логин");

в RegisterComponent для перенаправления на страницу входа.

...