javascript - 使用 Angular 和javascript对表进行条件格式化

标签 javascript html css json angularjs

当 lastPingedTimeAsString 达到 5 分钟标记并将文本颜色从绿色更改为红色时,我将如何调整下表,反之亦然。

<form name="myform" data-ng-submit="submit()" data-ng-controller="Ctrl" id="submitForm">
        <p data-ng-repeat="beat in beats">
            Station ID: {{ beat.stationID }}
            Uptime: {{ beat.lastPingedAsString | date : 'mediumTime'}}
        </p>
        <input type="submit" id="submit" value="Submit" />
    </form>

我在这里查看了几页描述如何按类使用格式设置,但没有得到正确的结果。

编辑: 更清楚地说,我需要知道如何创建确定 5 分钟已经过去并将结果从绿色变为红色的函数。抱歉造成混淆。

编辑2: 这是原始样本(根本没有格式化)。我现在将集成新代码。

Station ID: default Uptime: Jul 18 2014 2:09PM

最佳答案

让我们向我们的 Controller 范围添加一个函数:

$scope.diffMins = function(pingDate) {
  var now = new Date();
  var diffMs = (now-pingDate);
  return Math.round(((diffMs % 86400000) % 3600000) / 60000);
}

<form name="myform" data-ng-submit="submit()" data-ng-controller="Ctrl" id="submitForm">
    <p data-ng-repeat="beat in beats" ng-class="{longtime:diffMins(beat.lastPinged)>=5}">
        Station ID: {{ beat.stationID }}
        Uptime: {{ beat.lastPingedAsString | date : 'mediumTime'}}
    </p>
    <input type="submit" id="submit" value="Submit" />
</form>

css: .longtime {color: red}

这假设您有一个 beat.lastPinged 作为 javascript 日期。您还可以将业务逻辑放在 diffMins 中,然后只返回 true 或 false。

ng-class 的工作原理是,如果右侧的计算结果为真,则从左侧分配一个名称的类。

还有一个 ng-style 可以做类似 css 样式属性的事情。

关于javascript - 使用 Angular 和javascript对表进行条件格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24831299/

相关文章:

javascript - 使用jquery或任何方式获取div内容(javascript代码)

Javascript自动选择下拉菜单调试错误

iphone - 使用其 'id' 阻止 UIWebView 加载特定图像

css - HTML 表格宽度

javascript - “关闭”按钮一分钟都不会关闭弹出窗口

javascript - 指定多个模式的选项 - Materialise

javascript - Safari 警告框取消按钮的回调

css - 将页面分成两部分

html - 在 HTML/CSS 中链接图像的问题

html - 电子邮件 html 框架? (又名电子邮件 Bootstrap )