我有一个如下所示的数组:
causes: any= [
{
'Specification': {
'Missing':false,
'Unclear':false,
'Wrong':false,
'Changed':false,
'Better Way':false,
},
'Design': {
'Missing':false,
'Unclear':false,
'Wrong':false,
'Changed':false,
'Better Way':false,
},
'Code': {
'Missing':false,
'Unclear':false,
'Wrong':false,
'Changed':false,
'Better Way':false,
},
'Documentation': {
'Missing':false,
'Unclear':false,
'Wrong':false,
'Changed':false,
'Better Way':false,
},
}]
Run Code Online (Sandbox Code Playgroud)
如何在我的模板中迭代它?我试过类似的东西:
<div class="mdl-grid">
<div *ngFor=" let chunk of causes | chunks: 2; let j = index; " class="mdl-cell mdl-cell--4-col">
<label *ngFor=" let cause of chunk| values " #checkbox class="mdl-checkbox mdl-js-checkbox">
<input type="checkbox" name="causes" class="mdl-checkbox__input">
<span class="mdl-checkbox__label">{{cause}}</span>
</label>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
但它仍然给了我 [object Object]。我正在尝试填充每个原因并针对这 5 个复选框。
在您提供的代码中,数组中只有一个对象。
我假设你的数组应该是这样的:
causes: any = [
{
name: 'Specification',
values: {
'Missing': false,
'Unclear': false,
'Wrong': false,
'Changed': false,
'Better Way': false,
},
},
{
name: 'Design',
values: {
'Missing': false,
'Unclear': false,
'Wrong': false,
'Changed': false,
'Better Way': false,
},
},
{
name: 'Code',
values: {
'Missing': false,
'Unclear': false,
'Wrong': false,
'Changed': false,
'Better Way': false,
},
},
{
name: 'Documentation',
values: {
'Missing': false,
'Unclear': false,
'Wrong': false,
'Changed': false,
'Better Way': false,
},
}
]
Run Code Online (Sandbox Code Playgroud)
你的 html 应该是这样的
<div class="mdl-grid">
<div *ngFor=" let chunk of causes" class="mdl-cell mdl-cell--4-col">
<div>Checkboxes for {{chunk.name}}</div>
<div *ngFor=" let cause of chunk.values | keys">
<label #checkbox class="mdl-checkbox mdl-js-checkbox">
<input type="checkbox" [name]=" chunk.name + '_' + cause" class="mdl-checkbox__input">
<span class="mdl-checkbox__label">{{cause}}</span>
</label>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
其中键管道是一个自定义管道,它返回对象的键,它是字符串数组。管道代码:
管道
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'keys',
pure: false
})
export class KeysPipe implements PipeTransform {
transform(value, args: string[]): any {
return Object.keys(value);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18722 次 |
| 最近记录: |