繁体   English   中英

在使用cycle进行循环时如何正确使用ngRepeat

[英]how to properly use ngRepeat while using cycle for

我正在尝试使用以下方法为列表中的日期着色:

的HTML

<div id="list" ng-controller = "listContr as ilist">
  <ul>
    <li ng-repeat = "item in ilist.items">
      <p class="date-{{ilist.dateColor()}}">{{item.dueDate| date: 'dd.MM.yyyy HH:mm'}}</p>
    </li>
  </ul>
</div>

javascript

app.controller ('listContr', function () {
    this.items = tasks;
    this.dateColor = function () {
    for (var i = 0; i <= tasks[i].length; i++) {
        if (currDate > tasks.dueDate) {return 1} esle {return 2};
    }
};)};

但它永远不会返回2(或仅将日期重新着色为1)。 我猜想ngRepeat会使项目继承以前的属性。 所以我不知道如何解决它。

更改函数的签名以从ngRepeat中获取项目,以便函数知道要为哪个项目着色。

<div id="list" ng-controller = "listContr as ilist">
  <ul>
    <li ng-repeat = "item in ilist.items">
      <p class="date-{{ilist.dateColor(item)}}">{{item.dueDate| date: 'dd.MM.yyyy HH:mm'}}</p>
    </li>
  </ul>
</div>

然后您也可以摆脱函数中的循环

app.controller ('listContr', function () {
        this.items = tasks;
        this.dateColor = function (item) {
            if (currDate > item.dueDate) {return 1} esle {return 2};
        };)};

(注意:我没有在浏览器中检查过,只是调整了代码以显示概念)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM