ng-модель для выбора с определенными параметрами

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

<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);
}

person Anton    schedule 14.03.2016    source источник
comment
Дайте код контроллера, как вы его инициализируете   -  person Amit Sirohiya    schedule 14.03.2016
comment
Добавил код в пост   -  person Anton    schedule 14.03.2016
comment
Я попросил у вас код контроллера, а не сервисный код.   -  person Amit Sirohiya    schedule 14.03.2016
comment
Проблема заключается в том месте, где вы инициализируете значение модели в контроллере.   -  person Amit Sirohiya    schedule 14.03.2016
comment
добавил код контроллера тоже.   -  person Anton    schedule 14.03.2016
comment
Приятель, ты не понимаешь, мне нужен только конкретный код, в котором вы инициализируете $scope.data.Method = initializationValue;   -  person Amit Sirohiya    schedule 14.03.2016


Ответы (1)


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

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

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

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

person Ankit Pundhir    schedule 14.03.2016