Aer*_*rra 3 typescript ionic-framework angular
在 Ionic 4 (Angular) 中,我想为项目的每个唯一“类型”属性创建一个 div,并在所述 div 下添加具有相同“类型”的所有元素。
例如,我想输出以下数组:
items = [
{
type: 'type1',
question: 'question1',
answer: 'answer1'
},
{
type: 'type2',
question: 'question2',
answer: 'answer2'
},
{
type: 'type2',
question: 'question3',
answer: 'answer3'
},
{
type: 'type3',
question: 'question4',
answer: 'answer4'
},
];
Run Code Online (Sandbox Code Playgroud)
像这样:
<div id="type1">
<div class="item">
<h1>question1</h1>
<div>answer1</div>
</div>
</div>
<div id="type2">
<div class="item">
<h1>question2</h1>
<div>answer2</div>
</div>
<div class="item">
<h1>question3</h1>
<div>answer3</div>
</div>
</div>
<div id="type3">
<div class="item">
<h1>question4</h1>
<div>answer4</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
首先,您应该按类型对数据进行分组:
groupByType(array){
return array.reduce((r, a) => {
r[a.type] = r[a.type] || [];
r[a.type].push(a);
return r;
}, Object.create(null));
}
Run Code Online (Sandbox Code Playgroud)
然后尝试使用键值管道显示您的数据:
<div *ngFor="let item of newItems | keyvalue">
<div id="{{item.key}}">
{{item.key}}
<div class="item" *ngFor="let value of item.value">
<div>{{value.question}}</div>
<div>{{value.answer}}</div>
<br>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
检查演示。
| 归档时间: |
|
| 查看次数: |
8627 次 |
| 最近记录: |