AngularJS ngOptions没有填充下拉菜单

时间:2015-08-20 00:15:00

标签: javascript json angularjs

我不明白为什么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 :(得分:0)

您正在将数组分配给错误的范围变量。 $scope.coversations = data.conversation;应拼写为$scope.conversations = data.conversation;

相关问题