我有一个基于JSON以不正确的顺序打印的表。
该表如下所示,我希望它符合JSON的顺序:
为什么ng-repeat不会在找到它时打印出来。这是在ServiceNow平台上开发的。
此数据是完全动态的,标头和数据可能会根据所选表格或选择的标题而更改。
公司等级1 INC0039473无法访问电子邮件01/02/2019 02:54:26
公司级别2 INC0039474此事件适用于SQL每日管理和主动检查。 01/02/2019 07:00:07
公司2级INC0039475可疑电子邮件01/02/2019 07:14:05
公司1级INC0039476删除邮箱访问01/02/2019 07:30:51
公司1级INC0039477 PDC - LogicMonitor - 服务器离线01/02/2019 08:25:56
公司等级1 INC0039479无法登录citrix 01/02/2019 08:44:21
HTML
<div ng-if="reportDetails.isList">
<table class="etable" >
<tbody>
<tr class="eborder">
<th ng-repeat="(key, data) in reportDetails.values[0]">{{key}}</th>
</tr>
<tr ng-repeat="(key, data) in reportDetails.values">
<td ng-repeat="rows in reportDetails.values[key]">{{rows}}</td>
</tr>
</tbody>
</table>
</div>
JSON数据
"values":[
{
"Number":"INC0039473",
"Assignment group":"Company Level 1",
"Created":"01/02/2019 02:54:26",
"Short description":"No access to email"
},
{
"Number":"INC0039474",
"Assignment group":"Company Level 2",
"Created":"01/02/2019 07:00:07",
"Short description":"This Incident is for SQL daily admin and pro-active checks."
},
{
"Number":"INC0039475",
"Assignment group":"Company Level 2",
"Created":"01/02/2019 07:14:05",
"Short description":"Suspicious email"
},
{
"Number":"INC0039476",
"Assignment group":"Company Level 1",
"Created":"01/02/2019 07:30:51",
"Short description":"remove mailbox access"
},
{
"Number":"INC0039477",
"Assignment group":"Company Level 1",
"Created":"01/02/2019 08:25:56",
"Short description":"PDC - LogicMonitor - Server Offline"
你可以尝试这样的事情。要动态渲染列,我建议您处理json以获取数组中的确切顺序并使用它,或者只是您可以对列进行硬编码,如果这对您来说不是问题
<div ng-if="reportDetails.isList">
<table class="etable" >
<tbody>
<tr class="eborder">
<th >Number</th>
<th>Assignment group</th>
</tr>
<tr ng-repeat="(key, data) in reportDetails.values">
<td ng-repeat="rows in reportDetails.values[key]">{{rows.Number}}{{rows["Assignment group"]}}</td>
</tr>
</tbody>
</table>
</div>
确实如此。
但ng-repeat
应该用于运行数组,而不是JSON。
当你写:
<th ng-repeat="(key, data) in reportDetails.values[0]">{{key}}</th>
reportDetails.values[0]
是一个JSON。
因为Assignement以qazxsw poi和Number与qazxsw poi开头,所以首先会显示Assignment。
解决方案是为元数据提供单独的数组。检查例如a
检查这个N
(看起来像你的)。答案也是一个很好的解决方法。