【问题标题】:Display detail under single item in angular以角度显示单个项目下的详细信息
【发布时间】:2019-07-21 21:35:07
【问题描述】:

我在这个项目中使用 angular 7 和 bootstrap 4。我想在所选项目下获得准确的细节。这是我目前正在使用的屏幕截图。

这就是我想要实现的目标。

目前我正在页面底部获取团队详细信息,如您在第一张图片中看到的那样,但是,我希望团队详细信息正好位于所选卡片下方。

这是我的代码:

团队列表组件

export class TeamListComponent implements OnInit {

  teams: any;

  constructor(private ts: TeamsService) { }

  ngOnInit() {
    this.ts.getTeams().subscribe(data=> {
      this.teams = data.teams;
    })
  }
}

团队列表模板;注意:router-outlet 指向团队详细信息组件。

<div class="container-fluid">
  <div class="row">
    <app-team *ngFor="let team of teams" [team]=team></app-team>
  </div>
<div class="row">
  <router-outlet></router-outlet>
</div>
</div>

单个团队组件

export class TeamComponent{
      @Input() team: any;
}

团队模板:注意:我使用引导卡来显示团队

<div class="card border-dark " style="width: 300px; height: 450px; margin: 10px;" [routerLink]="team.id"
     routerLinkActive="active">
  <img class="card-img-top embed-responsive" src="{{team.crestUrl}}" alt="Card image cap">
  <div class="card-body">
    <h5 class="card-title">{{team.name}}</h5>
    <p class="card-text">{{team.address}}</p>
    <a href="{{team.website}}" class="btn btn-outline-dark btn-lg btn-block" target="_blank">Visit Website</a>
  </div>
</div>

如果您需要更多详细信息,请向我提出解决方案,请告诉我。 TIA

【问题讨论】:

  • 我想我现在明白你的问题了;我将删除我的答案,因为它没有回答您的问题

标签: angular css bootstrap-4


【解决方案1】:
<div class="container-fluid">
  <div class="row">
    <app-team *ngFor="let team of teams" [team]=team></app-team>
    <div><router-outlet></router-outlet></div>
  </div>
</div>


Just place your router-outlet inside the same row and make some the adjustment according your need. Hope it will help

【讨论】:

  • 我知道后会回复
【解决方案2】:

解决问题的一种方法是将&lt;team-detail&gt;&lt;/team-detail&gt; 放在&lt;team&gt;&lt;/team&gt; 元素中。当用户点击它时会显示&lt;team-detail&gt;&lt;/team-detail&gt;,这样它就会显示在该组件下方。

另一种方法是在&lt;team&gt;&lt;/team&gt; 中使用&lt;ng-content&gt;&lt;/ng-content&gt;。并通过&lt;team-detail&gt;&lt;/team-detail&gt;如下,

<team> <team-detail></team-detail> </team>

【讨论】:

  • 嗨,emkay,在第一个解决方案中,如果我将团队详细信息组件放入团队中,作为团队组件它是团队列表中的 *ngFor,它将循环并呈现相同的团队-所有团队的详细信息。第二个解决方案我无法正确获得它。谢谢
  • 您正在将团队对象传递给 组件,现在在 组件的模板中,当您放置团队详细信息时,它应该获取团队对象中存在的数据我想所有 组件都不同。为什么所有团队的团队详细信息都相同?
猜你喜欢
  • 1970-01-01
  • 2019-11-09
  • 2020-09-05
  • 2018-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多