JSON解析器没有't使用Angular ng repeat
JSON parser doesn't work with Angular ng-repeat
我正在尝试访问json-obj并将值设置到Angular Ui-rid中。但问题是我的一些json-obj字段是json字符串。我尝试使用json.parser将这些字段转换为json-obt,然后尝试访问。但是什么都不能显示,也不会给出任何错误消息。
Json Obj
[
{
"jobId":"efe0ace0-8ed9-45ff-9232-974cbdc89b86",
"jobType":"TestJob",
"nextRun":"N/A",
"lastRun":"2015-11-26 13:26:10.664",
"createdDate":"2015-11-26 13:26:10.664",
"executor":"g",
"JobDetails":"{'"environment'":'"TQ'",'"additionalEmailRecipients'":['"g.g@gmail.com'"],'"extraParams'":{'"PlanFileName'":'"RestAPI.xml'"}}",
"status":"active",
"elapsedTime":"1 day ago"
}
]
我尝试在单元格模板中将JobDetails
字段转换为json-obj。
var testPlantemplate ='<div><ul><li ng-repeat="testPlans in JSON.parse(row.entity.JobDetails)">{{testPlans.environment}}</li></ul></div>';
完成Js脚本
'use strict';
var tepTableModule = angular.module('test',
[ 'ngAnimate', 'ngTouch','ui.grid','ngResource' ]).factory('Service',
function($resource) {
return $resource('/api/job/jobs', {});
});
tepTableModule
.controller(
'tepTableCtrl',
function($scope, Service) {
$scope.TestData = Service.query();
//This doesn't work
var testPlantemplate ='<div><ul><li ng-repeat="testPlans in JSON.parse(row.entity.JobDetails)">{{testPlans.environment}}</li></ul></div>';
$scope.tableData = {
data : 'TestData',
groupsCollapsedByDefault : true,
enablePinning : true,
columnDefs : [ {
field : 'jobId',
displayName : 'jobId',
visible : false
}, {
field : 'JobDetails',
displayName : 'Test Plan Name',
cellTemplate : testPlantemplate,
visible : true
},
{
field : 'jobType',
displayName : 'JobType',
visible : true
},
{
field : 'environment',
displayName : 'Environments',
visible : true
},
{
field : 'status',
displayName : 'Status',
visible : true
},
{
field : 'elapsedTime',
displayName : 'LastRun',
visible : true
},
{
field : 'JobDetails.additionalEmailRecipients',
displayName : 'Email Recipients',
visible : true
},
{
field : 'executor',
displayName : 'Executor',
visible : true
}
],
sortInfo: {
fields: ['elapsedTime'],
directions: ['desc']
},
plugins : [ new ngGridAutoRowHeightPlugin() ]
};
$scope.changeGroupBy = function(group) {
$scope.gridOptions.groupBy(group);
}
$scope.clearGroupBy = function() {
$scope.gridOptions.$gridScope.configGroups = [];
$scope.gridOptions.groupBy();
}
});
请告诉我如何访问ng repeat中的JobDetails
并设置到ui网格中。
在作用域中创建一个方法
$scope.parseJSON=function(strObj){
return JSON.parse(strObj);
}
然后从模板调用
var testPlantemplate ='<div><ul><li ng-repeat="testPlans in parseJSON(row.entity.JobDetails)">{{testPlans.environment}}</li></ul></div>';
JSFIDDLE
你能尝试使用stringify()吗?然后它会转义所有的"/"。。。
var testPlantemplate ='<div><ul><li ng-repeat="testPlans in JSON.stringify(row.entity.JobDetails)">{{testPlans.environment}}</li></ul></div>';
检查此链接。。。
http://speakingjs.com/es5/ch22.html
相关文章:
- 如何使用skip参数使用angular ui引导进行服务器端分页
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 使用angular重定向到html页面
- 如何使用 Angular JS 将数据保存在数据库中
- 可以't使用Angular解析/检索JSON
- 如何使用Angular动态添加iframe-src
- 使用Angular和Node上传文件
- 使用angular.js问题的JavaSpringREST服务
- 使用Angular js-量角器e2e测试上传文件
- 使用Angular单击时更改特定图示符图标的颜色
- 使用Angular读取JSON
- 历史向前/向后按钮不'不能使用angular 2路由器
- 如何使用angular _ design保持全局当前用户直到注销
- 使用Angular显示JSON中的HTML
- 如何使用angular js从2个表(在sql server中)中提取数据
- 使用Angular存储用户以前是否选中过复选框,然后再调用它的最佳方式是什么
- 基于使用angular在下拉列表中选择的对象,迭代对象内部的对象
- 使用angular的外部库
- 表单中的数据不会传递给提交函数-使用Angular