3

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

{
    "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 实现这一点。

4

1 回答 1

1

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

于 2016-01-09T19:34:10.860 回答