Hello我无法使用Angular JS调用Json数组的值。
继承JSON数组(已更新):
"incidentes":
[
{
"id": 1,
"estado": "Activo",
"aperturafecha": "08/08/2014",
"aperturahora": "14:00:00",
"clasificacion": "Actualización",
"diagnostico": "Actualizacion de software",
"resolucion": "Actualizaciones realizadas",
"insumos": "Ninguno",
"cierrefecha": "08/08/2014",
"cierrehora": "14:05:00",
"prioridad": "Media",
"indisponibilidad": "00:05:00",
"codename": "A1",
"tipoincidente": "S",
"hardwares": [],
"sistemas": [{
"id": {
"incidenteid": 1,
"sistemaid": 19
},
"sistema": {
"id": 19,
"nombre": "Prestadores",
"descripcion": "Sistema de carga de prestadores",
"criticidad": "ALTA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 19,
"sistemaid": 19
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 20
},
"sistema": {
"id": 20,
"nombre": "Wiki",
"descripcion": "Wiki para difusión de conocimientos relavantes al area de Informatica",
"criticidad": "MEDIA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 19,
"sistemaid": 20
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 21
},
"sistema": {
"id": 21,
"nombre": "Ocs",
"descripcion": "Servico de iventariado de computadoras.",
"criticidad": "MEDIA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 19,
"sistemaid": 21
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 22
},
"sistema": {
"id": 22,
"nombre": "Incidentes",
"descripcion": "Aplicacion de carga y consulta de Incidentes",
"criticidad": "MEDIA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 19,
"sistemaid": 22
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 1
},
"sistema": {
"id": 1,
"nombre": "Relay Correo y Página",
"descripcion": "Relay Correo electrónico y página web",
"criticidad": "ALTA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 1,
"sistemaid": 1
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 2
},
"sistema": {
"id": 2,
"nombre": "Correo",
"descripcion": "Correo electrónico",
"criticidad": "ALTA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 2,
"sistemaid": 2
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 3
},
"sistema": {
"id": 3,
"nombre": "Consultas Públicas",
"descripcion": "Consulta sobre CUD",
"criticidad": "MEDIA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 16,
"sistemaid": 3
}
}, {
"id": {
"softwareid": 1,
"sistemaid": 3
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 4
},
"sistema": {
"id": 4,
"nombre": "Aplicaciones Internas",
"descripcion": "Servicio de aplicaciones internas",
"criticidad": "ALTA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 4,
"sistemaid": 4
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 5
},
"sistema": {
"id": 5,
"nombre": "Nube",
"descripcion": "Servicio de storage on the cloud",
"criticidad": "BAJA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 5,
"sistemaid": 5
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 6
},
"sistema": {
"id": 6,
"nombre": "Backup",
"descripcion": "Backup",
"criticidad": "CRITICA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 6,
"sistemaid": 6
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 7
},
"sistema": {
"id": 7,
"nombre": "Pentaho",
"descripcion": "Sistema de información estadístico",
"criticidad": "MEDIA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 7,
"sistemaid": 7
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 8
},
"sistema": {
"id": 8,
"nombre": "Router",
"descripcion": "Router + DHCP + DNS + Proxy + VPN Server",
"criticidad": "CRITICA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 8,
"sistemaid": 8
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 9
},
"sistema": {
"id": 9,
"nombre": "Base de Datos",
"descripcion": "Base de Datos",
"criticidad": "CRITICA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 9,
"sistemaid": 9
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 10
},
"sistema": {
"id": 10,
"nombre": "Discapacidad",
"descripcion": "Aplicación de carga y consulta de CUD",
"criticidad": "ALTA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 10,
"sistemaid": 10
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 11
},
"sistema": {
"id": 11,
"nombre": "Monitor",
"descripcion": "Monitor",
"criticidad": "MEDIA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 11,
"sistemaid": 11
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 12
},
"sistema": {
"id": 12,
"nombre": "Testing general",
"descripcion": "Testing de apps",
"criticidad": "BAJA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 11,
"sistemaid": 12
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 13
},
"sistema": {
"id": 13,
"nombre": "Testing Deportes",
"descripcion": "Testing de app Deportes (Beta)",
"criticidad": "MEDIA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 11,
"sistemaid": 13
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 14
},
"sistema": {
"id": 14,
"nombre": "Control de Versiones",
"descripcion": "Control de versiones y backup de codigo fuente",
"criticidad": "CRITICA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 12,
"sistemaid": 14
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 15
},
"sistema": {
"id": 15,
"nombre": "Win Server 2012",
"descripcion": "Controlador de Dominio, servicio de deployment de SO, servidor de archvos",
"criticidad": "ALTA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 15,
"sistemaid": 15
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 16
},
"sistema": {
"id": 16,
"nombre": "Intranet",
"descripcion": "Intranet y sistema de ticket",
"criticidad": "MEDIA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 18,
"sistemaid": 16
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 17
},
"sistema": {
"id": 17,
"nombre": "Testing VM",
"descripcion": "Testing general",
"criticidad": "BAJA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 18,
"sistemaid": 17
}
}]
}
}, {
"id": {
"incidenteid": 1,
"sistemaid": 18
},
"sistema": {
"id": 18,
"nombre": "Deportes",
"descripcion": "Sistema de carga de usuarios de pileta",
"criticidad": "MEDIA",
"estado": "Activo",
"activo": true,
"softwares": [{
"id": {
"softwareid": 18,
"sistemaid": 18
}
}]
}
}],
"softwares": [],
"tecnico": {
"id": 4,
"nombre": "Lucas Ignacio Sarafian",
"legajo": "400450",
"email": "lsarafian@snr.gob.ar",
"interno": "5224"
}
}]
这是我用来显示数据的HTML页面。 (更新)
<body ng-controller="IncidenteController">
<div class="container">
<ul class="nav nav-pills" role="tablist">
<li class="active"><a href="/index.html">home</a></li>
<li><a href="/tecnicos.html">Tecnicos</a></li>
<li><a href="/sistemas.html">Sistemas</a></li>
<li><a href="/incidentes.html">Incidentes</a></li>
<li><a href="/login.html">login</a></li>
<li ng-show="authenticated"><a href="" ng-click="logout()">logout</a></li>
</ul>
</div>
<form role="form">
<div class="panel-body">
<table class="table table-hover table-bordered">
<thead>
<tr class="bg-info">
<th class="col-md-1" data-align="center">Fecha Apertura</th>
<th class="col-md-1" data-align="center">Hora Apertura</th>
<th class="col-md-2" data-align="center">Clasificacion</th>
<th class="col-md-2" data-align="center">Diagnostico</th>
<th class="col-md-2" data-align="center">Resolucion</th>
<th class="col-md-1" data-align="center">Insumos</th>
<th class="col-md-1" data-align="center">Fecha de Cierre</th>
<th class="col-md-1" data-align="center">Hora de Cierre</th>
<th class="col-md-2" data-align="center">Prioridad</th>
<th class="col-md-2" data-align="center">Indisponibilidad</th>
<th class="col-md-2" data-align="center">Sistemas Afectados</th>
</tr>
</thead>
<tbody data-ng-repeat="incidente in incidentes">
<tr >
<td class="col-md-1" data-align="center">{{incidente.aperturafecha}}</td>
<td class="col-md-1" data-align="center">{{incidente.aperturahora}}</td>
<td class="col-md-2" data-align="center">{{incidente.clasificacion}}</td>
<td class="col-md-2" data-align="center">{{incidente.diagnostico}}</td>
<td class="col-md-2" data-align="center">{{incidente.resolucion}}</td>
<td class="col-md-1" data-align="center">{{incidente.insumos}}</td>
<td class="col-md-1" data-align="center">{{incidente.cierrefecha}}</td>
<td class="col-md-1" data-align="center">{{incidente.cierrehora}}</td>
<td class="col-md-2" data-align="center">{{incidente.prioridad}}</td>
<td class="col-md-2" data-align="center">{{incidente.indisponibilidad}}</td>
<td class="col-md-2" data-align="center">{{incidente['sistemas'][0].sistema.nombre}}</td>
</tr>
</tbody>
</table>
</div>
</form>
根据它应该反映价值观,但我没有尝试过每一个我能想到的信念.......
继承角度文件:
.controller('IncidenteController', [ '$scope', '$http', function($scope, $http) {
var urlbase = "http://localhost:8080/get/";
var onError = function(reason) {
$scope.error = "No se pudo encontrar";
};
var onIncidenteComplete = function(response) {
$scope.incidentes = response.data;
$scope.sistema = incidente.sistema; <--- this is useless
};
$http.get(urlbase + "incidente/").then(onIncidenteComplete, onError);
$scope.obtenerSistemas = function(incidente) {
$scope.sistema = incidente.sistema;
};
UDPDATE:“我现在可以从JSON数组中获取值,但似乎无法找出使用NG-repeat显示em的方法。
**编辑:我在我的代码中为可能需要它的人添加了一个解决方案示例,以及在数组中的对象内部获取对象的函数。
<table class="table table-striped table-hover table-bordered">
<thead>
<tr class="bg-info">
<th data-align="center">Nombre del Sistema Afectado</th>
<th data-align="center">Funcion</th>
<th data-align="center">Estado</th>
</tr>
</thead>
<tbody>
<tr data-ng-repeat="sistema in incidente.sistemas" class="">
<td data-align="center">{{sistema.sistema.nombre}}</td>
<td data-align="center">{{sistema.sistema.descripcion}}</td>
<td data-align="center">{{sistema.sistema.estado}}</td>
</tr>
</tbody>
</table>
答案 0 :(得分:1)
您是否碰巧尝试过angular.fromJson(数据)?
我有这个:
var parsedDashboard = angular.fromJson(data);
console.log(parsedDashboard);
数据来自json数据的HTML响应。
上述内容适用于Angular 1.4.6
在你的情况下,它应该是:
$scope.incidentes = angular.fromJson(your json data here)
同时尝试将你的ng-repeat放在tr而不是表格中:
<table st-table="displayedCollection" st-safe-src="customers" class="table table-striped" id='customers'>
<thead>
<tr>
<th st-sort="id">ID</th>
<th st-sort="name">Name</th>
<th st-sort="total">Total Ordered in {{searchObject.Duration}}</th>
</tr>
</thead>
<tbody>
<tr st-select-row="row" ng-repeat="x in displayedCollection" ng-click="setSelected(this)" class="{{selected}}">
<td>{{ x.id }}</td>
<td>{{ x.name }} </td>
<td>{{ x.total | currency : '$' : 2 }} </td>
</tr>
</tboday>
<tfoot>
<tr>
<td colspan="5" class="text-center">
<div st-pagination="" st-items-by-page="itemsByPage" st-displayed-pages="displayedPages"></div>
</td>
</tr>
</table>
答案 1 :(得分:1)
如果您的数据是一个数组,这应该足够了:
var onIncidenteComplete = function(response) {
$scope.incidentes = response.data[0].incidentes;
};
演示: http://plnkr.co/edit/IBvlqSaSd79p67ctQrIl?p=preview
编辑:http://plnkr.co/edit/MvtAaftloGtgtfaUA6Eg?p=preview 用于嵌套式咨询的plnkr演示。