как я могу переключить компонент вместо предыдущего? - PullRequest
0 голосов
/ 30 апреля 2018

Мой код выглядит так, как показано ниже. Я добавил только самый важный код из выбранных файлов. Можете ли вы показать мне, как я могу переключить компонент sign-in.component.html после нажатия Forgot Password? или Do not have an account? на компонент forgot.component.html или sign-up.component.html? Самое важное - это переключить компонент вместо предыдущего. Поэтому я не хочу переходить на другую страницу после нажатия кнопки. Я просто хочу поменять один компонент на странице на другой.

index.html:

    </head>
    <body>
    <app-root></app-root>
    </body>
    </html>
app.component.html:
    <app-navbar></app-navbar>
    <router-outlet></router-outlet>
    <app-footer *ngIf="removeFooter()"></app-footer>

home.component.html:

<div *ngIf="isSignIn()">
  <app-sign-in></app-sign-in>
</div>

<div *ngIf="isSignUp()">
  <app-sign-up></app-sign-up>
</div>

<div *ngIf="isForgotPassword()">
  <app-forgot-password></app-forgot-password>
</div>

home.component.ts:

  constructor() {
      this.signin = true;
      this.signup = false;
      this.forgot = false;
    }

  isSignUp() {
    if (this.signup === true) {
      return true;
    }
    else {
      return false;
    }
  }

  isSignIn() {
    if (this.signin === true) {
      return true;
    }
    else {
      return false;
    }
  }

  isForgotPassword() {
    if (this.forgot === true) {
      return true;
    }
    else {
      return false;
    }
  }

вход in.component.html:

<div class="content-center">
  <div class="container">

    <div class="title-brand">

      <div align="center">

        <input style="background-color: black; border-color: white; color:white; width: 270px" type="text" value="" class="form-control" placeholder="USERNAME">

        <br>

        <input style="background-color: black; border-color: white; color:white; width: 270px" type="text" value="" class="form-control" placeholder="PASSWORD">

        <div class="row">
          <div class="col-md-8">
            <br>
            <button style="background-color: black; border-color: white; color:white; width: 270px" type="button"  class="btn btn-danger">Log in</button>
          </div>
        </div>

        <br>

        <h6  style = "color: white" [routerLink]="['/main']" skipLocationChange class=pointer>Forgot Password?</h6>
        <h6 style="color: white" [routerLink]="['/sign-up']" class=pointer>Don't have an account?</h6>

      </div>
    </div>
  </div>
</div>

1 Ответ

0 голосов
/ 30 апреля 2018

Я не уверен, почему вы не хотите использовать маршруты, так как они предназначены именно для этого.

Однако, если вы настроены делать это динамически, тогда я предлагаю вам проверить документы: https://angular.io/guide/dynamic-component-loader

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...