Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在使用cycle for时正确使用ngRepeat_Javascript_Angularjs - Fatal编程技术网

Javascript 如何在使用cycle for时正确使用ngRepeat

Javascript 如何在使用cycle for时正确使用ngRepeat,javascript,angularjs,Javascript,Angularjs,我正在尝试使用以下方法为列表中的日期着色: HTML 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 {

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

HTML

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>

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

您有输入错误。您使用的是esle而不是Elsey您还有一个输入错误。您使用的是esle而不是Elsey您是对的,但这是原始问题代码的复制粘贴。正如我在笔记中所写的,代码没有经过测试,只是经过修改以显示概念。
<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};
        };)};