Angularjs 是否可以在ng repeat中计算并保存局部变量?
我有一个与ng repeat相同的块:Angularjs 是否可以在ng repeat中计算并保存局部变量?,angularjs,Angularjs,我有一个与ng repeat相同的块: <div ng-repeat="(position, task) in Tasks.plannedTasks"> {{(task.plan - (TasksTimeSpent[task.id][task.worker]).toFixed(2)}} </div> {{(task.plan-(TasksTimeSpent[task.id][task.worker]).toFixed(2)} 现在我需要设置背景,如果: {
<div ng-repeat="(position, task) in Tasks.plannedTasks">
{{(task.plan - (TasksTimeSpent[task.id][task.worker]).toFixed(2)}}
</div>
{{(task.plan-(TasksTimeSpent[task.id][task.worker]).toFixed(2)}
现在我需要设置背景,如果:
{{(task.plan - (TasksTimeSpent[task.id][task.worker]).toFixed(2)}} < 0
{(task.plan-(TasksTimeSpent[task.id][task.worker]).toFixed(2)}<0
可以更改task.plan和task.worker,之后需要检查语句和更改是否显示值
是否可以将表达式结果保存在变量中(例如:curDif),显示此变量并在if中检查变量?我不希望计算表达式两次。
在控制器中计算变量的方法不好,因为变量对应用程序逻辑没有用处,只需要显示,但在任务更改时使用控制器-我需要重新计算变量并使用watcher来执行任务。您可以使用:
<div ng-repeat="(position, task) in Tasks.plannedTasks">
<ng-init ng-init="curDif = (task.plan - (TasksTimeSpent[task.id][task.worker]).toFixed(2)">
{{curDif}}
</ng-init>
</div>
{{curDif}}
您可以使用:
<div ng-repeat="(position, task) in Tasks.plannedTasks">
<ng-init ng-init="curDif = (task.plan - (TasksTimeSpent[task.id][task.worker]).toFixed(2)">
{{curDif}}
</ng-init>
</div>
{{curDif}}
您可能还需要使用ng类来设置背景
<div ng-repeat="(position, task) in Tasks.plannedTasks">
<div ng-init="curDif = task.plan - (TasksTimeSpent[task.id][task.worker]).toFixed(2)" ng-class="'my-background':curDif < 0">
</div>
</div>
然后使用CSS设置背景样式。您可能还需要使用ng类来设置背景
<div ng-repeat="(position, task) in Tasks.plannedTasks">
<div ng-init="curDif = task.plan - (TasksTimeSpent[task.id][task.worker]).toFixed(2)" ng-class="'my-background':curDif < 0">
</div>
</div>
然后使用CSS设置您的背景样式。可能重复感谢的可能重复。我已经使用它=)我的问题是在ng repeat中保存本地值谢谢。我已经使用它=)我的问题是在ng repeat中保存本地值