Первый вариант в раскрывающемся списке не выбирается в приложении Angular

У меня есть следующий раскрывающийся список в шаблоне html.

    <div class="row">
        <label class="text-label hint--top-right hint--large" data-hint="{{customer.config.METHOD.DESCRIPTION}}">Calculation Method</label>
        <div class="input-select">
            <select class="input-select__select" ng-model="customer.attributes.tradingParameters.method">
                <option ng-repeat="indicator in customer.config.METHOD.VALUE" ng-selected="customer.attributes.tradingParameters.method == customer.shortenIndicator(indicator)" ng-value="customer.shortenIndicator(indicator)">{{indicator}}</option>
            </select>
        </div>
    </div>

Я использую ng-repeat для создания раскрывающегося списка из файла конфигурации CONSTANT. Ниже находится файл конфигурации.

    vm.config = {
        'METHOD': {
            'VALUE': ['N - No', 'Y- Yes'],
            'Description': 'Some description while hovering over'
        }
    }

При правильном ответе я назначаю объект ответа с индикаторами свойству atrributes в контроллере. А затем с помощью ng-модели выбрать подходящее значение. Как бы то ни было, сервер отправляет только однобуквенный индикатор, а в раскрывающемся списке я ДОЛЖЕН иметь индикатор с каким-то описанием, например «N - Нет».

Поэтому я добавил выражение ng-selected, которое сравнивает индикатор, возвращаемый с сервера, с укороченной версией. Укороченная версия создается путем вызова метода shortenIndicator в контроллере, который объединяет индикатор при первом появлении пробела.

    vm.shortenIndicator = function(fullIndicatorValue){
        return fullIndicatorValue.slice(0, fullIndicatorValue.indexOf(' '));
    };

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


person Pramodh    schedule 12.06.2016    source источник
comment
Вы пытались использовать ng-options вместо ng-repeat? ng-options обычно лучше всего подходит для выпадающего списка. Этот ответ может помочь stackoverflow.com/questions/17482817/   -  person user2085143    schedule 13.06.2016
comment
Но могу ли я иметь ту же логику ng-selected и ng-value? Как добавить эти атрибуты в тег параметров с помощью ng-options?!   -  person Pramodh    schedule 13.06.2016