2016-02-12 5 views
1

У меня проблема с отображением данных в таблице сетки ui.Отображение данных в угловой сетке пользовательского интерфейса

Я определил API, из которого я хочу показать данные, и я могу получить к ним доступ через браузер, но проблема заключается в показе визуализированных данных. Вот мой угловой контроллер, в котором я определил функцию получения данных из API:

 getData(); 

     $scope.myData = []; 

     $scope.gridOptions.data = [] 

     $scope.gridOptions.data = $scope.myData; 

     function getData() { 
      $http.get('/load/').success(function (data) { 
       data.forEach(function(row, index) { 
        $scope.myData.push(data); 
       }); 
       $scope.gridOptions.data = data; 
       console.log('data from api', data); 
      }) 
     }; 

и у меня пустая сетка. enter image description here

Данные показаны в консоли: enter image description here

Я также попытался проанализировать данные var jsonObj = JSON.parse(data);, но я получил ошибку Неожиданный маркер о на Object.parse (родной)

ответ

0

вас может написать $scope.$apply(), чтобы вызвать изменения в контроллере

+0

Я получил ошибку: [$ rootScope: inprog] $ переваривать уже в процессе – corry

+0

вы можете проверить это, если фаза работает, если ($ рамки!. $$ phase) {$ scope. $ apply()} –

0

Возвращенные данные должны быть ["ключ": [объект, объект, объект, объект]] в этой форме. 1) преобразовать эти данные с помощью var jsonObj = JSON.parse(data); 2) Используйте это выражение в успехе !$scope.$$phase?$scope.$apply():null;

+0

Я пробовал это, и снова появляется та же ошибка: Неожиданный токен на Object.parse (native) – corry

0

Мне жаль, ребята, моя ошибка здесь. Нет необходимости в синтаксическом разборе. Я определил неправильные столбцы в контроллере: facepalm:

1

Используйте эту функцию, чтобы выталкивать ваши данные в массив. Проверьте свои данные в консоли, развернитесь в свои данные. (щелкните стрелку) Мои данные находятся внутри .doc, ваш может находиться в пределах другого атрибута. измените «items [i] .doc» на правильный атрибут для ваших данных.

// pass data.rows to function items params 
// the type is to filter 
function fncArray(items,type) { 
    var filtered = []; 
    for(var i=0; i < items.length; i++) { 
     if (items[i].doc.type = type){ 
      filtered.push(items[i].doc); 
     } 
    } 
    // console.log(filtered); 
    return filtered; 
} 

это использовать без фильтрации

// pass data.rows to function items params 
function fncArray(items) { 
    var newData= []; 
    for(var i=0; i < items.length; i++) { 
      newData.push(items[i].doc); 
    } 
    return newData; 
} 
Смежные вопросы