如何在AngularJS中有条件地应用CSS样式?

css CSS

Itachi达蒙Green

2020-03-23

Q1。假设我想在按下主“删除”按钮之前更改用户标记为要删除的每个“项目”的外观。(这种立即的视觉反馈应该消除了众所周知的“您确定吗?”对话框的需要。)用户将选中复选框以指示应删除哪些项目。如果未选中此复选框,则该项目应恢复为正常外观。

应用或删除CSS样式的最佳方法是什么?

Q2。假设我想允许每个用户个性化展示我的网站。例如,从一组固定的字体大小中进行选择,允许用户定义前景色和背景色等。

应用用户选择/输入的CSS样式的最佳方法是什么?

第2800篇《如何在AngularJS中有条件地应用CSS样式?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

3个回答
猿凯 2020.03.23

要注意的一件事是-如果CSS样式中有破折号-您必须将其删除。因此,如果要设置background-color,正确的方法是:

ng-style="{backgroundColor:myColor}" 
猿樱 2020.03.23

(将来)有条件应用样式的另一种方法是有条件地创建范围样式

<style scoped type="text/css" ng-if="...">

</style>

但是如今,只有FireFox支持范围样式。

蛋蛋猿 2020.03.23

好吧,我建议您使用返回truefalse的函数检查控制器中的条件

<div class="week-wrap" ng-class="{today: getTodayForHighLight(todayDate, day.date)}">{{day.date}}</div>

并在控制器中检查情况

$scope.getTodayForHighLight = function(today, date){
    return (today == date);
}

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android