2016-03-14 2 views
1

У меня есть простой выберите элемент управления в моем угловом приложении. При загрузке страницы у меня нет элемента, выбранного в . Выберите элемент управления, но если я проверил $ scope.data.Method У меня есть правильное значение в int. Есть ли способ исправить эту проблему?ng-модель для выбора с определенными опциями

<div class="form-group"> 
    <label class="col-sm-3 control-label">Selected Method:</label> 
    <div class="col-sm-4"> 
     <select class="form-control" ng-model="data.Method"> 
      <option value="0">Auction</option> 
      <option value="1">Delivery</option> 
      <option value="2">Range Delivery</option> 
      <option value="3">Broadcast</option> 
      <option value="4">Self broadcast</option> 
      <option value="5">Manual</option> 
      <option value="6">Automated</option> 
     </select> 
    </div> 
</div> 

Контролеры используют сервис для получения данных. Вот код услуги для получения данных

//Initialize Resource 
     this.initResource = function (params) { 
      params = params || {}; 
      params.id = '@id'; 

      this.resource = $resource('{0}/:id'.format(this.api), params, { 
       'update': { method: 'POST' }, 
       'create': { method: 'PUT' }, 
       'default': { method: 'GET', params: { id: 'default' } } 
      }); 
     } 
//...more code 
//Get some data and initialize additional parameters 
     this.read = function (id, clone, readonly, version) { 
      if (clone == undefined) 
       clone = false; 

      if (readonly == undefined) 
       readonly = false; 

      if (this.resource == null) { 
       this.initResourceByDefault(); 
      } 

      return this.resource.get({ id: id, clone: clone, readonly: readonly, version: version }); 
     } 

Код контроллера

function ItemController($scope, $route, $routeParams, $location, $resource, MainCRUDService, ControllerHelper) { 
    $scope.noticeType = $routeParams.noticeType; 

    MainCRUDService.initResource({ noticeType: $scope.noticeType }); 
    //Here I am getting data from resourse via service 
    ControllerHelper.initCRUD($scope, MainCRUDService); 
} 
+0

Дайте код контроллера, как вы его инициализируете –

+0

Добавлен код в сообщении – Anton

+0

Я попросил у вас код контроллера, а не код службы. –

ответ

2

Как я могу понять вашу проблему, ваша служба возвращает data.Method как целое значение.

Но поле выбора будет соответствовать строковому значению.

Ваша проблема будет решена, если ваша служба вернет data.Method в качестве строки. Также вы можете преобразовать свой параметр ответа data.Method в строковое значение, используя метод toString().

Вот код плункера, который может вам помочь. https://plnkr.co/edit/s0Wrk4?p=preview

Смежные вопросы