首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果传递了将日期更改为红色的ng-类,则在页面重新加载后恢复

如果传递了将日期更改为红色的ng-类,则在页面重新加载后恢复
EN

Stack Overflow用户
提问于 2019-09-14 02:12:10
回答 1查看 22关注 0票数 0

所以基本上就是标题。我正在用AngularJS 1.5和TypeScript2.3编写一个Todo WebApp。我需要的一个“特性”是:如果你的TodoTask的日期是相对于今天的过去,它应该是红色的。它的工作方式应该是这样的。但是,一旦我重新加载页面,颜色就会恢复为默认颜色。所以我的问题是,有没有一种方法可以让它在重新加载后重新评估,或者以某种方式坚持下来?我使用localStorage,顺便说一句。

我尝试过ng样式和ng类。所以只有ng类起作用了。除了重新加载的问题。

代码语言:javascript
复制
<table class="table table-striped table-dark">
      <tr ng-repeat="todo in todo">
        <td>
          <input type="checkbox" ng-model="todo.done" ng-change="save()" />
          <span ng-class="{'done': todo.done}"> {{todo.title}} </span>
          <br><br>
          <span ng-class="{'older' : isPassed(todo.date)}"> {{todo.date | date: "dd-MM-yyyy"}} </span>
          <button type="button" ng-click="delete($index)" class="close" aria-label="Close">
            <span aria-hidden="true">&times;</span>
            </button>
        </td>
      </tr>
    </table>

CSS

代码语言:javascript
复制
.older {
  color: red;
}

The main.ts

代码语言:javascript
复制
$scope.isPassed = function(date) {
    return date < $scope.today;
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-14 02:23:20

要获得预期结果,请使用下面在$onInit方法中使用$scope.isPassed方法选项

代码语言:javascript
复制
$onInit(){
  $scope.isPassed = function(date) {
    return date < $scope.today;
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57928494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档