2015-02-20 2 views
0

Я новый ионному + angularJS ... Я создал выбрать пункт выпадающий как этогоионных выбрать с angularjs

<div class="list"> 
    <div class="item item-input item-select"> 
     <div class="input-label" > 
     Unit 
    </div> 
     <select id="unit"> 
     <option selected>Kilometer</option> 
     <option>Mile</option> 
     </select> 
</div> 
</div> 

Я желающий получить значение с angularJS ... Я попытался это .. Приближается scope.convert, когда я нажимаю кнопку.

$scope.convert = function() { 

alert($scope.unit); 
}; 

Он выводит «неопределенный» .. Почему это?

ответ

1

$scope.unit на самом деле не определен в области, поэтому вы получаете undefined. Вы должны определить unit в области. Поскольку это угловое приложение, вы можете сделать это угловым способом.

В контроллере вы хотите определить модель для сохранения выбранного значения. Давайте позвоним этой модели unit, как вы на самом деле пытаетесь сделать. Следовательно, вы можете инициализировать эту модель до Kilometer в вашем контроллере.

$scope.unit = 'Kilometer'

Теперь вам нужен массив опций. Это также можно настроить в вашем контроллере.

$scope.unitOptions = ['Kilometer', 'Mile']

Мы используем сферу, чтобы выставить свои модели к виду, следовательно, на ваш взгляд, вы можете получить доступ к этой модели следующим образом:

<select id='unit' ng-options="unit for unit in unitOptions">

Вы получите выпадающий список с «Километр 'и' Mile '. Вы можете выбрать любой из них, и ваша модель unit будет обновлена.

//This should now work 
$scope.convert = function() { 
    alert($scope.unit); 
}; 

Примечание: Я оставил атрибут id на select элемента, чтобы показать, что не имеет ничего общего с моделью в контроллере.

+0

Большое вам спасибо! AngularJS очень чуждо мне. –

+2

Добро пожаловать. AngularJS - это весело. Наслаждайтесь опытом. – DaProgrammer

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