使用 Angular 单击时更改特定字形的颜色
Change color of specific glyphicon when clicked using Angular
我想更改在我的 Angular 应用中单击的特定字形图标的颜色。
例如当点击这个时:
(in ng-repeat block) <span class="glyphicon glyphicon-thumbs-down" ng-click="downvote(post)" ></span>
点击后会调用:
$scope.downvote = function(post) {
posts.downvote(post);
}
};
谢谢。
您可以在 post 上设置 属性:
$scope.downvote = function(post) {
posts.downvote(post);
post.hadDownvote = true;
};
然后检查 属性 在一个 ng-style 属性中:
<span ng-style="post.hadDownvote ? {color:'red'} : {}" class="glyphicon glyphicon-thumbs-down" ng-click="downvote(post)"></span>
自然地,对于发布,您可能更喜欢使用在其他地方定义的 CSS class 并使用 ng-class 执行相同的检查以添加 class.
你必须通过绑定来驱动它,所以在你的控制器中这样做,但要确保你将默认的 isDownVote 设置为 true 或 false
$scope.downvote = function(post) {
posts.downvote(post);
post.isDownVoted = !post.isDownVoted;
};
然后在你的 html 中这样做
<span class="glyphicon glyphicon-thumbs-down" ng-click="downvote(post)" ng-class="post.isDownVoted===true ? 'some-color' : ''" ></span>
some-color 是你的 class 你可以把你的 css.
我想更改在我的 Angular 应用中单击的特定字形图标的颜色。
例如当点击这个时:
(in ng-repeat block) <span class="glyphicon glyphicon-thumbs-down" ng-click="downvote(post)" ></span>
点击后会调用:
$scope.downvote = function(post) {
posts.downvote(post);
}
};
谢谢。
您可以在 post 上设置 属性:
$scope.downvote = function(post) {
posts.downvote(post);
post.hadDownvote = true;
};
然后检查 属性 在一个 ng-style 属性中:
<span ng-style="post.hadDownvote ? {color:'red'} : {}" class="glyphicon glyphicon-thumbs-down" ng-click="downvote(post)"></span>
自然地,对于发布,您可能更喜欢使用在其他地方定义的 CSS class 并使用 ng-class 执行相同的检查以添加 class.
你必须通过绑定来驱动它,所以在你的控制器中这样做,但要确保你将默认的 isDownVote 设置为 true 或 false
$scope.downvote = function(post) {
posts.downvote(post);
post.isDownVoted = !post.isDownVoted;
};
然后在你的 html 中这样做
<span class="glyphicon glyphicon-thumbs-down" ng-click="downvote(post)" ng-class="post.isDownVoted===true ? 'some-color' : ''" ></span>
some-color 是你的 class 你可以把你的 css.