AngularJS не заполняет выпадающее меню

0

Я не понимаю, почему ng-options не заполняет выпадающее меню. Данные JSON возвращаются из службы. Я могу console.log данные в контроллере. Итак, почему ng-options не заполняют выпадающий список

<tr class="info">
   <td class = "col-xs-3">Maximum page size: </td>
   <td class = "col-xs-9" ng-controller = "converseController"> Show conversations per page 
   <select ng-model = "selectedNumber" ng-options="conversation for conversation in conversations">
        <option value = ""> Choose the number of conversations </option>
   </select>

   <aside id = "pageSize"> Show contacts per page 
      <select>
         <option> 20 </option>
      </select>
   </aside>
 </td>
</tr>

converse.js - Контроллер

(function() {
    'use strict';

    var converseController = function (getData, $scope) {
        var url = '../../data/conversation.json';
        getData.fetchData(url)
            .then(function(data){
                    $scope.coversations = data.conversation;
                    console.log($scope.coversations);
        });
    };

    angular.module('assignment3App')
      .controller ('converseController', ['getData', '$scope', converseController]);        
}());

conversation.json

{
    "conversation": [
        10,  
        20,
        30,  
        40, 
        50,  
        60, 
        70, 
        80,  
        90,
        100
    ]
}

Сервис - promise.js

(function() {
  'use strict';

  var getData = function (fetchDataService) {
      this.fetchData = function(filePath) {

             return fetchDataService.getContent(filePath)
                .then(function (returnedData) {
                    return returnedData.data;
                  });
              };   
      };    

      angular.module('assignment3App')
        .service ('getData', ['fetchDataService', getData]);
}());

Сервис - callJson.js

(function() {
  'use strict';

  var fetchDataService = function($http) {
      this.getContent = function(path) {
        return $http({
            method : 'get',
            url : path
          });
      };
  };

  angular.module('assignment3App')
    .service ('fetchDataService', fetchDataService);
}());

1 ответ

0
Лучший ответ

Вы проверяете массив на неправильную переменную области. $scope.coversations = data.conversation; должно быть записано $scope.conversations = data.conversation; ,

  • 0
    Благодарю. Мне жаль, что это был глупый вопрос. Я не знал, что делать. Я провел много времени, выясняя, что я делаю неправильно. Никогда не думал, что это может быть так просто, как опечатка.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню