Ключ ng-repeat не отображается с использованием данных JSON

Мой сервис захватывает данные JSON и возвращает данные в контроллер успешно, однако у меня возникла проблема с использованием ng-repeat для перебора имен ключей.

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

В настоящее время ng-repeat повторяет правильное количество раз, но не отображает имя ключа.

контроллер:

app.controller('getNav', function(getJSONData, $scope) {
    var path = 'json/navigation';
    getJSONData.async(path).then(function(d) {
        $scope.data = d;    
    });
});

Обслуживание:

app.factory('getJSONData', function($http) {
  var getJSONData = {
    async: function(path) {
      var promise = $http.get(path).then(function (response) {
        return response.data;
      });
      return promise;
    }
  };
  return getJSONData;
});

Данные JSON:

{ 
     "data": {
         "category_a": ["a", "b", "c", "d"], 
         "category_b": ["e", "f", "g"], 
         "category_c": ["h", "i", "j"]
     }, 
     "response": "Navigation"
}

Посмотреть:

<ul ng-controller="getNav">
   <li data-ng-repeat="(key, value) in data.data">Category name is: {{key}}</li>
</ul>

1 ответ

Решение

Хорошо, надеюсь, я смогу помочь кому-нибудь в будущем, у кого будет такая же проблема. Я потратил впустую день, вырывая свои волосы по этой проклятой вещице. После изоляции файлов от моего движка приложений Google я обнаружил, что файлы работают на простом локальном хосте MAMP, но не на движке приложений Google.

После некоторых поисков я обнаружил, что angular и DJango используют {{}} из-за противоречивых тегов шаблонов. Так что просто установите angular, чтобы использовать что-то другое, и проблема будет решена, смотрите здесь:

AngularJS с Django - конфликтующие теги шаблонов

Другие вопросы по тегам