首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在角度材料中实现md-芯片的ng类

如何在角度材料中实现md-芯片的ng类
EN

Stack Overflow用户
提问于 2016-02-06 06:54:18
回答 1查看 1.8K关注 0票数 1

这是我的问题-我不能实现ng-class='{activeTag: $chip.active}'<md-chip></md-chip>。我尝试将这个指令添加到<md-chips></md-chips>中,但它不起作用(因为$chip不在当前范围内)。我也可以将这个ng-class添加到md-chip-template中,但是在视觉上它不是我想要的,我需要标记中的所有东西的背光。顺便说一下,<md-chip></md-chip>是在md-chips指令中动态创建的。也许有人面临这个问题,或者只是知道解决办法。谢谢。

这里是我的控制器

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

});

我的观点

代码语言:javascript
复制
<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>

My css

代码语言:javascript
复制
.activeTag {
  background: rgba(85, 107, 47, 0.66) !important;
  color: white !important; 
}

这是柱塞

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-06 07:36:41

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

代码语言:javascript
复制
.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');
                }
            })

        }
    }
})

模板

代码语言:javascript
复制
<md-chip-template ng-class="{'activeTag': $chip.active}" style="cursor: pointer;" my-chip>

样式

代码语言:javascript
复制
.md-chip._active {
  background: rgba(85, 107, 47, 0.66) !important;
  color: white !important;
}

http://plnkr.co/edit/vv2SvH1gNj3OIh1oaqvV?p=preview

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35238286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档