javascript – 如何获得角材料芯片的选定芯片?

前端之家收集整理的这篇文章主要介绍了javascript – 如何获得角材料芯片的选定芯片?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
您可以通过点击它们来选择md-chips中的md-chip元素,但是我还没有找到一个很好的方法来找出在控制器中选择了哪一个.

有没有人完成这个?

  1. <md-chips ng-model="ctrl.roFruitNames">
  2. <md-chip-template>
  3. <strong>{{$chip}}</strong>
  4. <em>(fruit)</em>
  5. </md-chip-template>
  6. </md-chips>

http://codepen.io/anon/pen/QbOaLz

解决方法

不幸的是,就我在Angular Material的代码中看到的而言,这在md-chip的当前实现中并未公开.

您可以通过直接访问指令的控制器来解决它,但它非常脏,并且很容易打破未来版本的md-chip.

  1. <md-chips ng-model="ctrl.roFruitNames" ng-click="ctrl.getSelectedChip($event)">

在控制器中:

  1. self.getSelectedChipIndex = function(event) {
  2. var selectedChip = angular.element(event.currentTarget).controller('mdChips').selectedChip;
  3. alert(selectedChip);
  4. }

看它工作:

http://codepen.io/anon/pen/oXopQq

Angular Material已经有一个问题需要这样的东西,所以希望它将来会被添加

https://github.com/angular/material/issues/3413

[编辑]

获取芯片数据:

  1. var ctrl = angular.element(event.currentTarget).controller('mdChips');
  2.  
  3. if(ctrl !== undefined){
  4. var selectedChip = ctrl.items[ctrl.selectedChip];
  5. }

猜你在找的JavaScript相关文章