Json 如何在表中显示{object}?
实际上,我想显示到一个表中。这里的数据是{object}。我想显示所有货币的“上次”、“买入”和“卖出”的所有值。我可以编写硬代码,但我想通过使用ng repeat或ngFor来减少代码行数。如何编写此操作的条件Json 如何在表中显示{object}?,json,angular,tabular,ngfor,Json,Angular,Tabular,Ngfor,实际上,我想显示到一个表中。这里的数据是{object}。我想显示所有货币的“上次”、“买入”和“卖出”的所有值。我可以编写硬代码,但我想通过使用ng repeat或ngFor来减少代码行数。如何编写此操作的条件 我使用的是Angular 4。您需要创建一个管道,然后可以遍历对象 @Pipe({ name: 'ObjNgFor', pure: false }) export class ObjNgFor implements PipeTransform { transform(valu
我使用的是Angular 4。您需要创建一个管道,然后可以遍历对象
@Pipe({ name: 'ObjNgFor', pure: false })
export class ObjNgFor implements PipeTransform {
transform(value: any, args: any[] = null): any {
return Object.keys(value)//.map(key => value[key]);
}
}
这个plnkr可能会帮助你
ngFor在iterables上工作,因此在您的情况下,需要首先将json数据转换为数组
let blockChainData:any = { ... } //data.retrieved.from.server;
let blockChainDataArray:Array<any> = [];
let dataKeys:Array<string> = Object.keys(blockChainData);
dataKeys.forEach((key:string) => {
let entry:any = blockChainData[key]; // Retrieve the object associated with the currency
entry.originalCurrency = key; // Preserve the original currency
blockChainDataArray.push(entry);
});
let blockChainData:any={…}//data.retrieve.from.server;
让区块链数据数组:数组=[];
让dataKeys:Array=Object.keys(区块链数据);
dataKeys.forEach((键:字符串)=>{
let entry:any=blockChainData[key];//检索与货币关联的对象
entry.originalCurrency=key;//保留原始货币
blockChainDataArray.push(条目);
});
在html代码中,迭代数组
<td *ngFor="let entry of blockChainDataArray">{{ entry.originalCurrency }} {{ entry.buy }} {{ entry.sell }} {{ entry.last }} </td>
{{entry.originalCurrency}{{entry.buy}{{entry.sell}{{entry.last}
谢谢各位的回复,你们的方式很好。但我找到了更简单的方法:
function generateArray(obj) {
return Object.keys(obj).map((key) => obj[key] );
}
这将把json对象转换为数组和
<tr *ngFor="let post of posts">
<td>{{post.last}}</td>
<td>{{post.buy}}</td>
<td>{{post.sell}}</td>
</tr>
{{post.last}}
{{post.buy}
{{post.sell}
这将把json迭代到一个表中
附言:我已将json从“posts”保存到名为“obj”的“posts”中。您尝试了什么代码?实际上,我不知道在这种情况下如何迭代。因为,对象在对象内部。如果它是一个数组,我可以使用ngFor。您可以尝试将此对象转换为数组,然后使用*ngFor进行迭代。我不建议这样做。另外,因为只有三个值,所以代码长度并没有减少很多,可读性也差得多。@Christian,我想你没有理解我的问题。顺便说一句,我得到了一些答案,现在正在研究它。请参见下面答案中的plnkr示例。这正是我需要的。我不会用纯:假。这样,每次值更改后,管道都会再次执行。