将背景类应用于角度为6的父div

时间:2018-08-23 18:58:46

标签: angular bootstrap-4 angular6 bootstrap-accordion

我正在用卡片制作带有Bootstrap 4的手风琴。在每张卡片的侧面,我都有一些图标,例如编辑,视图,详细信息等。单击这些图标时,将调用组件中的一个函数,然后将用户导航到子路径。

子路由器出口显示在此手风琴的右侧。

单击该卡下的任何图标时,我想更改卡头背景。我该怎么办?

这是html

  <div id="accordion" role="tablist" aria-multiselectable="true">

    <!--Kitchen-->
    <div class="card mwk-project-left" *ngFor="let psl of projectSubList; let i = index">
          <div class="card-header mwk-project-details-hdr" role="tab" id="heading{{psl.Id}}">
        <h5 class="mb-0">
          <a data-toggle="collapse" data-parent="#accordion" href="#collapse{{psl.Id}}" aria-expanded="true" [attr.aria-controls]="'collapse'+psl.Id">
            {{psl.Description}}
          </a>
        </h5>
      </div>

      <div id="collapse{{psl.Id}}" class="collapse show" role="tabpanel" [attr.aria-labelledby]="'heading'+psl.Id">
        <div class="card-body">

          <ul *ngIf="psl.Features">
            <li *ngFor="let ftr of psl.Features; let fi = index">
              {{ftr.FeatureGroup}}: {{ftr.Description}}
            </li>
          </ul>

          <h4 class="text-danger" *ngIf="!psl.Features">No features found!</h4>

          <div class="mwk-actions-sub">
            <button mat-icon-button color="accent" type="button" (click)="onView(psl.Id)" title="View {{psl.Description}}" class="matIconButton"><mat-icon>ballot</mat-icon></button>
            <button mat-icon-button color="primary" type="button" (click)="onDetail(psl.Id)" title="Detail {{psl.Description}}" class="matIconButton"><mat-icon>view_list</mat-icon></button>
            <button mat-icon-button color="primary" type="button" (click)="onEdit(psl.Id)" title="Edit {{psl.Description}}" class="matIconButton"><mat-icon>edit</mat-icon></button>
            <button mat-icon-button color="primary" type="button" (click)="onConfig(psl.Id)" title="Config {{psl.Description}}" class="matIconButton"><mat-icon>settings_applications</mat-icon></button>
            <button mat-icon-button color="warn" type="button" (click)="onDelete(psl.Id, psl.Description)" title="Delete {{psl.Description}}" class="matIconButton"><mat-icon>clear</mat-icon></button>
          </div>
        </div>
      </div>
     </div>    
  </div>

我该怎么做?

从此页面看了div示例,但我没有a标签。

https://angular.io/api/router/RouterLinkActive

<div routerLinkActive="active-link" [routerLinkActiveOptions]="{exact: true}">
  <a routerLink="/user/jim">Jim</a>
  <a routerLink="/user/bob">Bob</a>
</div>

更新1

我做了以下两项更改,现在我的背景已经应用于卡头部分。

<div class="card mwk-project-left" *ngFor="let psl of projectSubList; let i = index" routerLinkActive="mwk-project-left-active" [routerLinkActiveOptions]="{exact: true}">

然后

<a mat-icon-button color="accent" [routerLink]="[psl.Id]" title="View {{psl.Description}}" class="matIconButton"><mat-icon>ballot</mat-icon></a>
            <a mat-icon-button color="primary" [routerLink]="[psl.Id, 'detail-list']" title="Detail {{psl.Description}}" class="matIconButton"><mat-icon>view_list</mat-icon></a>
            <a mat-icon-button color="primary" [routerLink]="[psl.Id, 'edit']" title="Edit {{psl.Description}}" class="matIconButton"><mat-icon>edit</mat-icon></a>
            <a mat-icon-button color="primary" [routerLink]="[psl.Id, 'config-edit']" title="Config {{psl.Description}}" class="matIconButton"><mat-icon>settings_applications</mat-icon></a>
            <a mat-icon-button color="warn" [routerLink]="[psl.Id, 'edit']" [queryParams]="{delete: 'yes'}" title="Delete {{psl.Description}}" class="matIconButton"><mat-icon>clear</mat-icon></a>

在路由器出口部分之外单击时,上述更新1有所帮助。

当我单击链接从路由器插座内转到另一个子页面时,此时将删除我的update 1类。所以我松山背景。现在如何解决这个问题?

更新2

精确:修复从路由器插座内部进入其他子页面时的错误。

<div class="card mwk-project-left" *ngFor="let psl of projectSubList; let i = index" routerLinkActive="mwk-project-left-active" [routerLinkActiveOptions]="{exact: false}">

我很好,感谢您的光临!

1 个答案:

答案 0 :(得分:0)

此帖子有所帮助 https://angular.io/api/router/RouterLinkActive

然后使用routerLinkActiveexact false应用于卡div,因为其中一个子页面具有将用户带到其他页面的链接。

<div class="card mwk-project-left" *ngFor="let psl of projectSubList; 
let i = index" routerLinkActive="mwk-project-left-active" 
[routerLinkActiveOptions]="{exact: false}">

最后,我不得不更改按钮以锚定标签

来自

<button mat-icon-button color="accent" type="button" (click)="onView(psl.Id)" 
title="View {{psl.Description}}" class="matIconButton"><mat-icon>ballot</mat-icon></button>

<a mat-icon-button color="accent" [routerLink]="[psl.Id]" title="View {{psl.Description}}" 
class="matIconButton"><mat-icon>ballot</mat-icon></a>