gpt4 book ai didi

javascript - 如何在angular-material中实现ng-class到md-chip

转载 作者:行者123 更新时间:2023-11-30 09:53:19 25 4
gpt4 key购买 nike

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

这是我的 Controller

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>

我的 CSS

.activeTag {
background: rgba(85, 107, 47, 0.66) !important;
color: white !important;
}

Here is the plunker

最佳答案

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

.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>

样式

.md-chip._active {
background: rgba(85, 107, 47, 0.66) !important;
color: white !important;
}

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

关于javascript - 如何在angular-material中实现ng-class到md-chip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35238286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com