2016-06-13 2 views
2

Я показываю некоторые данные в компоненте смарт-таблицы (используя angular). Последний столбец - это элемент выбора. То, что я хочу сделать, это подключить к событию изменения «on-select» и сделать что-то с данными, отображаемыми в строке.Угловой Как получить событие onselect

Вот мой plunker:

Что я хочу достичь отображается в комментарии

ответ

6

Если вы хотите создать раскрывающийся список его лучше использовать нг-опции, а затем нг-повтор.

<select ng-option="x.data for x in myItems"> 
</select> 

Поскольку директива нг-повтор повторяет блок HTML код для каждого элемента массива, он может быть использован для создания опций в списке, но директива нг-варианты была сделана специально для заполнения выпадающий список с опциями и имеет как минимум одно важное преимущество:

Разбиение с помощью ng-options позволяет выбранному значению быть объектом, а выпадающие списки, сделанные из ng-repeat, должны быть строкой.

Добавить нг-изменение

<select ng-change="SelectedRow()" ng-option="x.data for x in myItems"> 
</select> 

Тогда в нашем контроллере

$scope.SelectedRow = function(){ 
      //here take action or do whatever you want to. 
     } 
0

Если вы хотите функцию триггера на мыши на любом элементе использовать ng-click. Его можно использовать как атрибут элемента. Вы можете вызвать любую функцию и передать аргументы.

<div ng-repeat="myItem in myItems" ng-click="clicked(myItem.data)">{{myItem.data}}</div> 

Проверить plunker, чтобы посмотреть, как он работает в ng-repeat.

Он работает, но, как говорится в другом answer:

Если вы хотите создать раскрывающийся список Угловым его лучше использовать нг-опцию, а затем нг-повтор.