Я пытаюсь отобразить данные, которые я получил с помощью вызова rest в таблице ui-grid. Когда я привязываю данные к переменной области видимости и пытаюсь вызвать ее на странице html, она дает TYPEERROR: typeerror не может считывать свойства «данных» неопределенных угловых символов. Я думаю, что он не может получить данные и, следовательно, ошибку. Может кто-нибудь наставит меня, как к тому, что мне не хватает в коде ниже:Отображать данные в u-сетке после совершения отдыха.
.controller("widgetCtrl", ["logger", "$scope", "$http", "widgetService", "localizationService",
"gettextCatalog",
function (logger, $scope, $http, widgetService, localizationService, gettextCatalog) {
var myuid;
var myrole;
var locale = localizationService.getLocale();
gettextCatalog.loadRemote("/dashboardplugins/B27F0520-86CF-1033-B9C8-005056A891F8/resources-locale_" +
locale + ".json");
logger.info("WidgetContoller started");
$scope.gridOptions = {};
/**
* load function
*
*/
$scope.load = function() {
widgetService.getData().then(function (response) {
$scope.mydata = response;
$scope.myrole = response.roles[0].split("/").pop();
$scope.myuid = $scope.myuid = response.meta["@href"].split("/").pop();
$scope.gridOptions = {
excludeProperties: "__metadata",
data: [
{
id: $scope.myuid,
name: response.name,
role: $scope.myrole,
state: response.state
}
],
columnDefs: [
{name: "ID", field: "id"},
{name: "Name", field: "name"},
{name: "role", field: "role"},
{name: "state", field: "state"}
],
i18n: [
]
};
});
};
$scope.load();
Html страница:
<div ng-Controller="widgetCtrl">
<h1>User Info</h1>
<div ui-grid="gridOptions"></div>
</div>
JSON объект данных:
Object {data: Object, status: 200, config: Object, statusText: "OK"}
config: Object
data: Object
auth-source: "DATABASE"
createdate: "2016-02-10T20:47:48.408Z"
creator: Object
meta: Object
moddate: "2016-02-10T20:47:48.408Z"
modifier: Object
name: "admin"
perms: Object
roles: Array[1]
state: "ACTIVE"
sys: false
tenant-id: 1
tenant-name: "default"
__proto__: Object
headers: (name)
status: 200
statusText: "OK"
__proto__: Object
Спасибо! добавление $ scope.gridOptions = {}; помогли сбросить неопределенную ошибку данных. Но данные по-прежнему не отображаются. Как вы думаете, может быть причиной непоследовательной структуры объекта Json? – user2128
Трудно понять, что, не зная, как выглядят ваши возвращенные данные JSON ... то, что вы показываете выше, не является JSON, но вы должны иметь доступ к нему с помощью 'response.data.data'. Можете ли вы создать плункер или добавить данные JSON в свой вопрос? Несмотря на это, вы можете массировать данные во что-то, что будет отображаться, как только вы получите его на клиенте. –
Да, я внес некоторые изменения и данные отображаются. Но я не доволен своим кодом. Обычно я не предпочитаю такой жесткий кодированный подход. – user2128