2014-06-17 3 views
4

Мне было интересно, как я могу вызвать функцию в своем контроллере в зависимости от опции, выбранной в меню.Функция Call Controller от Select Angularjs

Например, используя ng-click, при нажатии на кнопку я могу вызвать функцию. Я хочу сделать что-то подобное при выборе в AngularJS.

<select class="dropdown"> 
    <option value="">Menu</option> 
    <option ng-click="open()">Settings</option> // call open() when Settings is selected 
</select> 

Любые идеи?

+0

Вы можете использовать 'ng-model' и' $ watch' для изменения этой модели. –

ответ

4

Использование нг-изменения с нг-модели:

<select ng-model="model" ng-change="onSelect()" > 

Где onSelect() представляет собой метод на свой объем.

+0

Спасибо! ng-модель невероятно мощная :) – kevin

3
<select ng-model="whatever"> 
    <option value="settings">Settings</option> 
</select> 

В контроллере:

$scope.$watch('whatever', function(newValue, oldValue) { 
    if (newValue == 'settings') { 
     doSomething(); 
    } 
});