当前位置: 首页 > 知识库问答 >
问题:

在满足条件时为文本着色

端木令
2023-03-14

当条件(if)满足时,我尝试将文本着色为绿色或红色。

这是我的函数getAll()

            function getAllTasks() {
                $http.get('db_files/tasksDB.php').then(function (response) {
                    $scope.tasks = response.data;
                    $scope.tasks = response.data.map(function (item) {
                        var millisDiff = (new Date(item.deadline) - new Date(item.task_start));
                        item.dayDiff = Math.floor(millisDiff / (1000 * 60 * 60 * 24));
                        $scope.color = function () {
                            return (item.dayDiff < 1) ? 'red' : 'green';
                        };
                        return item;
                    });
                });
            }

在我的表格中,有一部分我想给文本上色。下面的例子不起作用。

<td md-cell><font color="{{task.color}}">{{ task.dayDiff }}</font></td>

我也试过,但它总是在绿色或红色上着色。

<td md-cell><font color="{{color}}">{{ task.dayDiff }}</font></td>

我想做这样的事情:如果有一天,然后颜色文本的红色或绿色。

共有2个答案

吴镜
2023-03-14

使用ng-style指令从控制器分配样式

angular.module("app",[])
.controller("ctrl",function($scope){

  $scope.itemArr = [{  
     "id":"521",
     "username":"defus",
     "task":"test",
     "dept":"test",
     "status":"Otwarte",
     "task_start":"2017-02-26 11:47:29",
     "task_end":"0000-00-00 00:00:00",
     "task_time":null,
     "deadline":"2017-02-28"
  }]
 
  
 $scope.itemArr =   $scope.itemArr.map(function(item) {
    var millisDiff = (new Date(item.deadline) - new Date(item.task_start));
    item.dayDiff = Math.floor(millisDiff / (1000 * 60 * 60 * 24));
    $scope.color = (item.dayDiff > 1) ? 'red' : 'green'; 
    return item;
  });
   console.log($scope.itemArr)
   console.log($scope.color)
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
<font ng-style="{'color':color}">working</font>
</div>
通迪
2023-03-14

将颜色函数添加到项目对象,以便您可以在视图中调用它。

<td md-cell><font color="{{task.color()}}">{{ task.dayDiff }}</font></td>
function getAllTasks() {
  $http.get('db_files/tasksDB.php').then(function(response) {
    $scope.tasks = response.data;
    $scope.tasks = response.data.map(function(item) {
      var millisDiff = (new Date(item.deadline) - new Date(item.task_start));
      item.dayDiff = Math.floor(millisDiff / (1000 * 60 * 60 * 24));
      item.color = function() {
        return (item.dayDiff < 1) ? 'red' : 'green';
      };
      return item;
    });
  });
}
 类似资料:
  • 问题内容: 是否可以在MySQL中执行UPDATE查询,仅在满足特定条件时才更新字段值?像这样: 换一种说法: 正确的方法是什么? 问题答案: 是! 这里有另一个例子: 之所以可行,是因为MySQL不会更新该行(如果没有更改),如docs中所述: 如果将列设置为其当前值,MySQL会注意到这一点,并且不会对其进行更新。

  • 问题内容: 我的数据结构如下: 我正在尝试进行一个SQL查询,该查询将计算正在运行的SUM,但在小时数为3时将重置。结果应如下所示: 问题答案: 您可以使用条件总和创建子组:

  • 我试图添加if-else语句来更改文本的颜色。然而,它并不能很好地工作。我希望只把40分以下的分数改成红色,但我不知道为什么我的文字都改成了红色。我能知道我犯了什么错误吗? 在if-else语句中,我编写了当标记低于40时更改文本颜色的代码。但是,它会将所有文本更改为红色。

  • 我正在制作一个汽车游戏。只有“开始”、“停止”、“退出”命令。无法识别任何其他命令。 除了“退出”之外,所有命令都可以正常工作。使用while循环,它会执行和打印else语句: 命令=“退出”应该呈现当条件,因此跳过前面只执行外部的其他语句。为什么它执行其他两个语句,甚至认为同时条件不满足?

  • 我正在尝试使用一个do while循环来找出用户是想将一只狗还是一只猫检查到Java的养狗系统中。其思想是,当提示时输入“dog”或“cat”,任何输入都将导致错误,并且他们将再次被提示输入文件名。 如果输入了“cat”或“dog”,那么将为程序分配等效的文件(dogs.txt或cats.txt),然后系统将运行并将数据加载到程序中。 以下是当前的变量: 以及导致问题的方法: 下面是运行代码时打印

  • 通过循环每个资源的名称,查看分配给该人员姓名的帐户,随机选择一个,并用NA替换该人员的姓名,以减少资源分配。 可复制示例: 我到目前为止的进展: 我听说for循环是不必要的。我相信这可以通过purr包和pmap之类的东西来实现。我还在学习。 我想重复一下OwnerDF,看看那个人是否“拥有”了太多的账户。如果是,请查看原始帐户列表,随机选择一个,并将所有者的姓名替换为NA,从其计数中删除1,然后继