小编Dan*_*lin的帖子

在AngularJS重复部分中调用多次的函数

我遇到了一个问题,我想绑定到ng-repeat循环内的函数输出.我发现函数每个项目被调用两次而不是我期望的一次.这是ng-repeat部分(注意最后的calcRowTotal()调用):

<tr ng-repeat="row in timesheetRows">
    <td>
        <select ng-model="row.categoryID">
            <option ng-repeat="category in categories" value="{{category.id}}">
                {{category.title}}
            </option>
        </select>
    </td>
    <td ng-repeat="day in row.dayValues">
        <input type="text" ng-model="day.hours" />
    </td>
    <td>{{calcRowTotal($index, row)}}</td>
</tr>
Run Code Online (Sandbox Code Playgroud)

calcRowTotal()函数如下所示:

$scope.calcRowTotal = function (index, row) {
    console.log('calcRowTotal - Index: ' + index);
    var total = 0;
    for (var i = 0; i < row.dayValues.length; i++) {
        var num = parseFloat(row.dayValues[i].hours);
        if (isNaN(num)) {
            num = 0;
            //this.dayValues[i].hours = 0;
        }
        total += num;
    }
    //updateDayTotals();
    return total;
}
Run Code Online (Sandbox Code Playgroud)

下面显示了一个迭代项目的示例:

{ …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

angularjs ×1

javascript ×1