【发布时间】:2020-03-01 18:50:36
【问题描述】:
我正在尝试使用 *ngFor 和 bootstrap 手风琴创建手风琴的动态层次结构。
这是我的代码...
<div class="container" style="color:black;">
<div id="accordion">
<div class="card">
<div class="card-header" id="headingOne">
<h5 class="mb-0 d-inline">
<button type="button" class="btn btn-link" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Available Namespaces
</button>
</h5>
<a href="#" data-target="[data-parent='#child1']" data-toggle="collapse" class="my-2 float-right">toggle all</a>
</div>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body" id="child1">
<div class="card" *ngFor="let name of namespaces">
<div class="card-header">
<a href="#" data-toggle="collapse" data-target="#collapseOneA">{{name}}</a>
</div>
<div class="card-body collapse" data-parent="#child1" id="collapseOneA">
{{name}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
ngFor 中的命名空间正在使用 rest API 调用来获得它的价值。我在那里验证了一个包含两个值的字符串数组。
public namespaces: string[] = [];
ngOnInit() {
const credentials = environment.ouathClientId + ':' + environment.oauthClientSecret;
this.httpclient
.get<string[]>(this.namespaceApi, {
headers: new HttpHeaders({
'Content-Type': 'application/json;charset=utf-8',
Authorization: 'Basic ' + btoa(credentials)
})
})
.subscribe(
(data) => {
this.namespaces = data;
},
(error) => {
alert(error.error.message);
}
);
}
但仍然没有以手风琴形式显示值。任何建议...
【问题讨论】:
-
与您的问题无关:不要在组件中进行 http 调用。将它放在服务中,然后返回 Observable。将来会让您头疼。
-
是的,我也在做同样的事情......这里只是为了代码。
标签: angular bootstrap-4 accordion ngfor