所以我的控制器中有以下对象,它有一个名称,一个bean列表和一个操作列表:
{
"name": "Charge",
"beans": [
],
"operations": [
{
"name": "getSize",
"returnType": "java.lang.Integer",
"description": "empty description",
"parameters": [
]
},
{
"name": "truncate",
"returnType": "java.lang.Void",
"description": "empty description",
"parameters": [
]
},
{
"name": "count",
"returnType": "java.lang.Integer",
"description": "empty description",
"parameters": [
{
"name": "javaCode",
"type": "java.lang.String",
"value": null
}
]
},
{
"name": "update",
"returnType": "java.lang.Integer",
"description": "empty description",
"parameters": [
{
"name": "javaSelectCode",
"type": "java.lang.String",
"value": null
},
{
"name": "javaUpdateCode",
"type": "java.lang.String",
"value": null
}
]
},
{
"name": "delete",
"returnType": "java.lang.Integer",
"description": "empty description",
"parameters": [
{
"name": "javaCode",
"type": "java.lang.String",
"value": null
}
]
},
{
"name": "dump",
"returnType": "java.lang.Void",
"description": "empty description",
"parameters": [
{
"name": "javaSelectCode",
"type": "java.lang.String",
"value": null
},
{
"name": "destinationPath",
"type": "java.lang.String",
"value": null
}
]
},
{
"name": "select",
"returnType": "java.lang.String",
"description": "empty description",
"parameters": [
{
"name": "javaCode",
"type": "java.lang.String",
"value": null
}
]
}
],
"$$hashKey": "object:620"
}
基本上我想在下拉菜单中显示此对象的所有操作。
所以我想要有类似的东西:
<div ng-repeat="operation in object.operations">
{{operation.name}}
</div>
除了上面的代码在屏幕上没有显示任何内容,控制台中没有任何错误,没有。
非常感谢任何帮助!
编辑:
Javascript服务:
app.controller('selectAll', ['$http', '$scope' , '$rootScope', function ($http, $scope, $rootScope) {
$scope.response;
$scope.operations;
$rootScope.$on("invokeSelectAll", function(){
$scope.invokeSelectAll();
});
$scope.invokeSelectAll = function(){
$scope.response = $http.post('/invoke/selectAll/', $rootScope.dataObj);
$scope.object = JSON.stringify($rootScope.object);
console.log(" object operation from selectAll " + $scope.object);
$scope.response.then(function(data) {
$scope.responses = data.data ? data.data : "Select Operation not supported on this bean";
});
}
}]);
开发者控制台的屏幕截图: https://imgur.com/a/8WAAL
答案 0 :(得分:1)
使用JSON.stringify()
从JavaScript对象创建JSON字符串。
使用JSON.parse()
将JSON字符串解析为JavaScript对象。
在您的情况下,您需要使用JSON.parse()
,因为您从服务器获取了一个JSON字符串,并希望将其解析为JavaScript对象。
$scope.object = JSON.parse($rootScope.object);
答案 1 :(得分:1)
您正在使用JSON.stringify,它用于将javascript对象更改为字符串并仅将其存储为字符串。
您应该使用JSON.parse()解析数据,并且数据将成为JavaScript对象。你可以在ng-repeat中轻松使用它。
试试吧,它会正常工作