도움 주셔서 감사합니다. 나는 위에서 언급 한 것과 같은 것을했다. 각 li에 대해 init 함수를 실행합니다. 각 함수는 각 태스크에 속합니다. 다음은 init 함수입니다.
$scope.setOptionsMessage = function(task) {
if(task.asigneeId) {
task.optionsMessage = $scope.fullName(task.user);
task.optionsMessage += ' | ';
}
else {
task.optionsMessage = 'Not assigned | ';
}
if(task.dueDate) {
task.optionsMessage += 'Due on: ' + task.dueDate;
}
else if(task.dueEvent === $scope.NEXT_APPOINTMENT) {
task.optionsMessage += 'Due at next appointment';
}
else {
task.optionsMessage += 'No due date';
}
}
이렇게하면 각 작업 개체에 optionsMessage 속성이 추가되어 각 작업의 메시지로 사용할 수 있습니다. 다음은 코드의 해당 부분과 관련된 html (슬림)입니다.
li [ng-repeat='task in uncompletedTasks' ng-init="setOptionsMessage(task)" class='patient-task repeated-item']
span ng-hide="editing"
input type="checkbox" ng-click="markComplete(task)"
span class="task-text" {{task.text}}
span class="task-popover-link"
span class="click-link" ng-click="optionsShow=!optionsShow"
| {{task.optionsMessage}}