我正在尝试将 CSS 类绑定到剑道菜单的按钮:这是我的菜单代码:
{
id: "button_grille_tri",
type: "splitButton",
menuButtons : $scope.liste_recherche,
click: function(e){
$scope.rechercheColonnes(e);
}
},
它是菜单的一部分。
这是 liste_recherche 变量的实例化:
for(var i=0;i<$scope.siagridColumns.length;i++){
$scope.liste_recherche.push({
cssClass : "champ_recherche",
attributes: {"ng-class": "{'tick_recherche':tickActivation("+"'"+$scope.siagridColumns[i].id+ "'"+ ")}"} ,
text : $scope.siagridColumns[i].header, id : $scope.siagridColumns[i].id });
}
tickActivation 是一个返回布尔值的函数:
$scope.tickActivation = function(id){
return $scope.etats[id];
};
我尝试了几件事:1)如果我按类替换 ng-class,则该类正在工作但不是动态的 2)我将 ng-class 以良好的格式放入文本部分,无论引号问题如何,它都不起作用,我尝试了所有可能性 3) 即使我将 tickActivation(...) 替换为 true 它也不起作用。4)我已将 $scope.$apply 放入另一个:
$scope.rechercheColonnes = function(e){
if ($scope.colonnesTri.length == $scope.siagridColumns.length){
$scope.colonnesTri =[];
}
var compteur = 0;
for (var i=0;i<$scope.colonnesTri.length;i++){
if ($scope.colonnesTri[i] == e.id)
compteur++;
}
if(compteur == 0){
$scope.colonnesTri.push(e.id);
}
$scope.etats[e.id] = true;
$scope.$apply();
}
并且使用 $apply,我可以看到每次单击菜单时都会使用 tickActivation,具有良好的参数和良好的回报。但是没有绑定并且 ng-class 不起作用......我在任何文档/社区上都没有找到任何答案。至少,感谢您阅读帖子,我希望有人能找到解决方案。