1

我正在尝试将 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 不起作用......我在任何文档/社区上都没有找到任何答案。至少,感谢您阅读帖子,我希望有人能找到解决方案。

4

0 回答 0