如何将数据目标用于不同的组件?

时间:2019-04-01 12:57:00

标签: javascript html css angular

我正在尝试从引导程序中添加一个模式到我的代码中,并且我在前端部分使用Angular2 +(正好是6个)。问题在于,我用来调用模式的按钮是模式本身之外的另一个组件,因此它无法按预期工作。

在一个组件中,在Siderbar中,我有以下几行代码:

<li *ngIf="!userService.mainUser" data-toggle="modal" data-target="#login"  style="cursor: pointer">
    <a>
        <i class="mdi mdi-login"></i>
        <span class="hide-menu">Se connecter</span>
    </a>
</li>

如您所见,当我单击时,我的data-toggle="modal"中有一个data-target="#login"和一个<li>,可以打开模态。

问题是我的模态代码进入了另一个组件,即Login组件:

<div id="login" class="modal fade" role="dialog">
  <div class="modal-dialog modal-dialog-centered">

    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-title">
        <h1 style="margin-left: 15px">Se connecter</h1>
      </div>
      <div class="modal-body">
        <div class="form-group">
          <label class="form-control-label">Nom d'utilisateur</label>
          <input name="username" class="form-control" placeholder="Nom d'utilisateur">
        </div>

        <div class="form-group">
          <label class="form-control-label">Mot de passe</label>
          <input name="password" class="form-control" placeholder="Mot de passe">
        </div>
        <div>
          <input style="display: inline" type="checkbox">
          <label style="margin-left: 10px"> Rester connecté ?</label>
        </div>

        <button (click)="logIn()" [ngStyle]="{'background': appFade, 'color': getTextColor()}">Se connecter</button>

      </div>
    </div>

  </div>
</div>

因此,当我单击“ Se连接器”按钮时,它不会打开我的模态,并且我不知道如何使其工作。

我希望我的问题很清楚,希望您能对我有所帮助。 谢谢!

1 个答案:

答案 0 :(得分:0)

您需要将组件选择器添加到按钮所在的html

    <li *ngIf="!userService.mainUser" data-toggle="modal" data-target="#login"  style="cursor: pointer">
    <a>
        <i class="mdi mdi-login"></i>
        <span class="hide-menu">Se connecter</span>
    </a>
</li>
<app-login-modal></app-login-modal>//this should coincide with the name modals selector name in your typescript file