您可以通过点击它们来选择md-chips中的md-chip元素,但是我还没有找到一个很好的方法来找出在控制器中选择了哪一个.
有没有人完成这个?
<md-chips ng-model="ctrl.roFruitNames"> <md-chip-template> <strong>{{$chip}}</strong> <em>(fruit)</em> </md-chip-template> </md-chips>
解决方法
不幸的是,就我在Angular Material的代码中看到的而言,这在md-chip的当前实现中并未公开.
您可以通过直接访问指令的控制器来解决它,但它非常脏,并且很容易打破未来版本的md-chip.
<md-chips ng-model="ctrl.roFruitNames" ng-click="ctrl.getSelectedChip($event)">
在控制器中:
self.getSelectedChipIndex = function(event) { var selectedChip = angular.element(event.currentTarget).controller('mdChips').selectedChip; alert(selectedChip); }
看它工作:
http://codepen.io/anon/pen/oXopQq
Angular Material已经有一个问题需要这样的东西,所以希望它将来会被添加:
https://github.com/angular/material/issues/3413
[编辑]
获取芯片数据:
var ctrl = angular.element(event.currentTarget).controller('mdChips'); if(ctrl !== undefined){ var selectedChip = ctrl.items[ctrl.selectedChip]; }