AngularJS заполнить dropdwon с обещанием

0

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

контроллер

 app.controller('CurrencyCtrl', ['$scope', 'Currency', '$http', function ($scope, Currency) {
$scope.curencies = [];
        Currency.get(function (response) {
                angular.forEach(response, function (val, key) {
                    $scope.currencies.push(val);
                });
            });

Посмотреть

     <select class="form-control" name="country" 
    data-ng-model="curencies" 
data-ng-options="option.name for option in curencies.value track by curencies.id">

                                                            </select>

Resourse

app.factory("Currency", function ($resource) {
    return $resource("api/currencies", {}, {
        get: {method: "GET", isArray: true}
    });
});
Теги:

2 ответа

0

Фабрика данных

var datafactory = angular.module('Currency', ['Currency']);
datafactory.factory('Currency', function ($http, $q) {
return {

    //Get Data
    getCurrency: function (Date) {
        var deferred = $q.defer();

        $http({
            method: 'GET',
            url: 'api/Send_Mail'
        }).success(function (data) {
            deferred.resolve(data);
        }).error(function (response) {
            deferred.reject(response);

        });
        return deferred.promise;
    }
 }

Внутренний контроллер

$scope.loadstatus++;
Factory.getCurrency().then(function (data) {
    $scope.loadstatus++;
    //do something
}, function (err) {
    $scope.loadstatus--;
    alert("Error" + error);
});

Вы можете использовать loadstatus для контроллера загрузку страницы

0

Попробуй это:

контроллер

 app.controller('CurrencyCtrl', ['$scope', 'Currency', '$http', function ($scope, Currency) {
   $scope.curencies = Currency.get();
 });

Посмотреть

     <select class="form-control" name="country" 
    data-ng-model="curencies" 
data-ng-options="option.name for option in curencies track by curencies.id">

                                                            </select>

Resourse

app.factory("Currency", function($resource, $q) {
  return {
    get: function() {
      var deferred = $q.defer();
      $resource("api/currencies").get().$promise.then(function(response) {
        var result = [];
        angular.forEach(response, function(val, key) {
          result.push(val);
        });
        deferred.resolve(result);
      })
      return deferred.promise;
    }
  };
});

Ещё вопросы

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