您可以通过点击它们来选择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];
- }