Angular ng-options в select2 - свойство значения настройки

У меня есть множество стран:

var countriesList: [
                {name: "Israel", code: "IL"},
                {name: "India", code: "IN"},
                {name: "Andorra", code: "AD"}
            ]

и массив выбранных стран:

    selectedCountries: [
                    {
                        country:"IL"
                    }
                ] 

Я использую select2 для выбора стран. Я начал с ng-repeat для генерации<options/> тег:

 <select
    id="countriesList"
    ui-select2
    multiple
    ng-model='data.selectedCountries'
    data-placeholder='Choose or Search for Countries'
    name='locations'
    ng-change='geoTargetingChanged()'>

       <option ng-repeat="country in data.countriesList" value="{{country.code}}">{{country.name}}</option>                
</select>

этот метод работал хорошо, но это привело к форме$dirty прямо в начале. поэтому я начал использовать механизм `ng-options- (после прочтенияэтот ответ):

<select
            id="countriesList"
            ui-select2
            multiple
            ng-model='data.selectedCountries'
            data-placeholder='Choose or Search for Countries'
            name='locations'
            ng-change='geoTargetingChanged()'
            ng-options="country.code as country.name for country in data.campaignSettings.countriesList">
           <option></option>
</select>

Теперь проблема в том, что значение элементов - это не код страны, а их индекс в массиве.

Я что-то пропустил?

Ответы на вопрос(3)

Ваш ответ на вопрос