如何使用ng-admin解析一个简单的数组

时间:2015-12-12 14:10:05

标签: angularjs api docker docker-registry ng-admin

我有一个API(http://localhost:5000/v2/_catalog)返回一个json结构,如下所示:

{
    "repositories": 
    [
        "start/imageA",
        "start/imageA"
    ]
}

现在我想用ng-admin解析结果。我的admin.js(CORS已在我的网络服务器上解决)如下所示:

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>

问题仍然是一样的。数组未正确解析,我在文档中没有找到如何使用给定的json实现这一点。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我终于通过将字段类型设置为“选择”来解决它 在您的情况下,尝试更改:
nga.field('repositories', 'embedded_list')
于:
nga.field('repositories', 'choices')