Angularjs 如何使用ng admin解析简单数组
我有一个API()返回json结构,如下所示:Angularjs 如何使用ng admin解析简单数组,angularjs,api,docker,docker-registry,ng-admin,Angularjs,Api,Docker,Docker Registry,Ng Admin,我有一个API()返回json结构,如下所示: { "repositories": [ "start/imageA", "start/imageA" ] } var myApp = angular.module('r2ui', ['ng-admin']); myApp.config(['RestangularProvider', function(RestangularProvider) { RestangularProvid
{
"repositories":
[
"start/imageA",
"start/imageA"
]
}
var myApp = angular.module('r2ui', ['ng-admin']);
myApp.config(['RestangularProvider', function(RestangularProvider) {
RestangularProvider.addFullRequestInterceptor(function(element, operation, what, url, headers, params, httpConfig) {
delete params._page;
delete params._perPage;
delete params._sortDir;
delete params._sortField;
return { params: params };
});
}]);
myApp.config(['NgAdminConfigurationProvider', function (nga) {
var admin = nga.application('Registry v2 UI')
.baseApiUrl('http://localhost:8081/v2/'); // main API endpoint
var catalog = nga.entity('_catalog');
catalog.listView().fields([
nga.field('repositories', 'embedded_list')
.targetEntity(nga.entity('repositories'))
.targetFields([
nga.field('.').isDetailLink(true),
nga.field('.').label('Repository')
])
.listActions(['edit'])
]);
admin.addEntity(catalog);
nga.configure(admin);
}]);
现在我想用ng admin解析结果。我的admin.js
(CORS在我的Web服务器上解决)如下所示:
{
"repositories":
[
"start/imageA",
"start/imageA"
]
}
var myApp = angular.module('r2ui', ['ng-admin']);
myApp.config(['RestangularProvider', function(RestangularProvider) {
RestangularProvider.addFullRequestInterceptor(function(element, operation, what, url, headers, params, httpConfig) {
delete params._page;
delete params._perPage;
delete params._sortDir;
delete params._sortField;
return { params: params };
});
}]);
myApp.config(['NgAdminConfigurationProvider', function (nga) {
var admin = nga.application('Registry v2 UI')
.baseApiUrl('http://localhost:8081/v2/'); // main API endpoint
var catalog = nga.entity('_catalog');
catalog.listView().fields([
nga.field('repositories', 'embedded_list')
.targetEntity(nga.entity('repositories'))
.targetFields([
nga.field('.').isDetailLink(true),
nga.field('.').label('Repository')
])
.listActions(['edit'])
]);
admin.addEntity(catalog);
nga.configure(admin);
}]);
如何做到这一点
以下更新
很抱歉,我遗漏了文件index.html
,因为我认为这是显而易见的:
<head>
<meta charset="utf-8">
<title>Registry v2 UI</title>
<link rel="stylesheet" href="node_modules/ng-admin/build/ng-admin.min.css">
</head>
<body ng-app="r2ui">
<div ui-view></div>
<script src="node_modules/ng-admin/build/ng-admin.min.js" type="text/javascript"></script>
<script src="admin.js" type="text/javascript"></script>
</body>
</html>
注册表v2用户界面
问题还是一样。数组解析不正确,我在文档中找不到如何使用给定的json实现这一点。我也遇到了同样的问题,我最终通过将字段类型设置为“choices”来解决它。
在您的情况下,尝试更改:
nga.field('repositories','embedded_list')
致:
nga.field('repositories','choices')
提示“CORS已在我的Web服务器上解决”就是出于这个原因。Web服务器充当API的反向代理。有相同的问题,但我还需要添加元素。。。