代码之家  ›  专栏  ›  技术社区  ›  RonE

使用“角度”单击时更改特定字形图标的颜色

  •  0
  • RonE  · 技术社区  · 8 年前

    我想更改在我的Angular应用程序中单击的特定字形图标的颜色。

    例如,单击此按钮时:

    (in ng-repeat block) <span class="glyphicon glyphicon-thumbs-down" ng-click="downvote(post)" ></span>
    

    单击时,它会调用:

    $scope.downvote = function(post) {
        posts.downvote(post);   
        }
    };
    

    非常感谢。

    2 回复  |  直到 8 年前
        1
  •  0
  •   Neil Cross    8 年前

    您可以在帖子上设置属性:

    $scope.downvote = function(post) {
        posts.downvote(post);
        post.hadDownvote = true;
    };
    

    然后检查ng样式属性中的属性:

    <span ng-style="post.hadDownvote ? {color:'red'} : {}" class="glyphicon glyphicon-thumbs-down" ng-click="downvote(post)"></span>
    

    当然,对于发布版,您可能更喜欢使用在别处定义的CSS类,并使用ng类执行相同的检查来添加类。

        2
  •  0
  •   Atul Chaudhary    8 年前

    你必须通过绑定来驱动它,所以在你的控制器中这样做,但要确保你将默认值DownVote设置为true或false

    $scope.downvote = function(post) {
        posts.downvote(post);
       post.isDownVoted = !post.isDownVoted;   
    };
    

    然后在urhtml中执行此操作

    <span class="glyphicon glyphicon-thumbs-down" ng-click="downvote(post)" ng-class="post.isDownVoted===true ? 'some-color' : ''" ></span>
    

    有些颜色是你的类,你可以放你的css。