Javascript 如何在角材料md芯片上实现ng类

Javascript 如何在角材料md芯片上实现ng类,javascript,css,angularjs,angular-material,md-chip,Javascript,Css,Angularjs,Angular Material,Md Chip,这是我的问题-我无法将ng class='{activeTag:$chip.active}'实现为。我曾尝试将此指令添加到中,但它不起作用(因为$chip不在当前范围内)。我还可以将这个ng类添加到md芯片模板中,但从视觉上看,这不是我想要的,我需要标签中所有内容的背光。顺便说一句,在md芯片指令中动态创建。也许有人面临这个问题,或者只是知道解决办法。谢谢 这是我的控制器 controller('ChipsController', function($scope) { $scope.ta

这是我的问题-我无法将
ng class='{activeTag:$chip.active}'
实现为
。我曾尝试将此指令添加到
中,但它不起作用(因为
$chip
不在当前范围内)。我还可以将这个
ng类
添加到
md芯片模板
中,但从视觉上看,这不是我想要的,我需要标签中所有内容的背光。顺便说一句,
md芯片
指令中动态创建。也许有人面临这个问题,或者只是知道解决办法。谢谢

这是我的控制器

controller('ChipsController', function($scope) {
    $scope.tags = [
      {
        id: 1,
        name: 'Pop',
        active: false
      },
      {
        id: 2,
        name: 'Rock',
        active: true
      },
      {
        id: 3,
        name: 'Reggie',
        active: false
      }
  ];

});
我的观点

<md-chips class="custom-chips selected" ng-model="tags" readonly="true">
<md-chip-template ng-class="{'activeTag': $chip.active}" style="cursor: pointer;">
  <a ui-sref="">
    <strong>{{$chip.id}}</strong>
    <em>({{$chip.name}})</em>
  </a>
</md-chip-template>

我可能更喜欢使用自定义指令,它将特殊类添加到您的
芯片中

.directive('myChip', function(){
    return {
        restrict: 'EA',
        link: function(scope, elem, attrs) {
            var myChip = elem.parent().parent();
            myChip.addClass('_active');

            scope.$watch(function(){
                return scope.$chip.active
            }, function(newVal){
                if (newVal) {
                  myChip.addClass('_active');
                } else {
                  myChip.removeClass('_active');
                }
            })

        }
    }
})
模板

<md-chip-template ng-class="{'activeTag': $chip.active}" style="cursor: pointer;" my-chip>

我可能更喜欢使用自定义指令,它将特殊类添加到您的
芯片中

.directive('myChip', function(){
    return {
        restrict: 'EA',
        link: function(scope, elem, attrs) {
            var myChip = elem.parent().parent();
            myChip.addClass('_active');

            scope.$watch(function(){
                return scope.$chip.active
            }, function(newVal){
                if (newVal) {
                  myChip.addClass('_active');
                } else {
                  myChip.removeClass('_active');
                }
            })

        }
    }
})
模板

<md-chip-template ng-class="{'activeTag': $chip.active}" style="cursor: pointer;" my-chip>

See@mindparse是的,我在github上看到了这个答案。但这不是解决办法,我是说,我该怎么做?这个人只是在生成的dom中添加了
ng类
。但这不是解决办法,我是说,我该怎么做?这个人只是在生成的dom中添加了
ng类