Я борюсь с привязкой enum class к инструкции SELECT.Angularjs перевод в код-сзади
Учитывая определение Машинопись:
enum SearchCriteria {
expensive = 0,
cheap = 1,
interesting = 2,
newest = 3
}
и использование:
<div id="searchResultSort">
{{'sort' | translate}}:
<select
ng-model=" options.selectedCriteria">
<option value="0"> {{'sortByExpensive' | translate}}</option>
<option value="1"> {{'sortByCheap' | translate}}</option>
<option value="2"> {{'sortByInteresting' | translate}}</option>
<option value="3"> {{'sortByNewest' | translate}}</option>
</select>
</div>
В настоящее время существует несколько проблем с этим кодом:
1) значения перечислений зашиты
2) Функциональность по умолчанию не работает - я отследил эту ошибку до того, как угловой h это сценарий. Он использует сравнение ===, таким образом, «0»! == 0. Initial ng-model value not set in select
Я бы не прочь решить эту проблему, создав новый массив в контроллере, который имеет два свойства: {translVal, enumId}.
Проблема в том, как я могу сохранить эту синхронизацию «translvalVal» с реальным переводом?
sortingOptions: [
{
val: SuperSearch.Repository.Model.SearchCriteria.cheap,
translation: bindAndInterpolateLanguage('languageKey')
},
Использование углового перевода.
Рассматривали ли вы с помощью ' ng-options' (http://docs.angularjs.org/api/ng/directive/select)? Это даст вам возможность привязывать значения непосредственно к номерам (1 против «1») – jlb