Уверен, что этот вопрос уже задан раньше, но я не мог его найти или найти, поэтому я хотел бы задать тот же вопрос и откройте поток для более четких ответов с некоторыми примерами.Как вызвать другую функцию в ng-repeat в Angular
Моя цель - отобразить команды и их рейтинг, примечание: для отображения ранжирования у меня есть отдельная функция, которая получает рейтинг команды в зависимости от поля их оценки в дБ.
У меня есть две функции в TeamController, как показано ниже:
tm.showAllByClass = function (classId) {
TeamService.showAllByClass(classId).then(function (response) {
tm.teamsInClass = response.data;
}).catch(function (error) {
$scope.result = error;
});
};
tm.ranking = function (classId, teamId) {
TeamService.ranking(classId, teamId).then(function (response) {
return response.data;
}).catch(function (error) {
$scope.result = error;
});
};
<tr ng-repeat="tm in team.teamsInClass.data">
<td>{{tm.group_number}}</td>
<td>{{tm.role.name}}</td>
<td>{{tm.ranking(tm.class_id, tm.id)}}</td>
<td>{{tm.amount | currency}}</td>
</tr>
И это функция в серверной части, которая получает все команды:
public function findAllTeamsInClass($classId)
{
return Team::where('class_id', '=', $classId)->with('role', 'business')->get();
}
// return rank of team
public function teamRanking($classId, $teamId){
return 3; // for sake of simplicity I just return a static value
}
Есть ли способ, что я могу прикрепить функцию teamRanking прямо в команду entitiy как отношения или что-то еще?
По какой-то причине tm.ranking() ничего не возвращает, как я могу вызвать функцию, возвращающую значение в ng-repeat.
Обязательно сделайте запрос '$ http' * * внутри' ngRepeat', это действительно плохая практика. Кроме того, я сомневаюсь, что вы не получите ошибку, например, 'бесконечный дайджест' или что-то вроде этого. – developer033
@ developer033, я полностью согласен с вами, и у меня не было выбора сделать это, не могли бы вы рассказать мне, что является другим способом или лучший способ справиться с такими случаями? – artan
Я был бы очень признателен за вашу помощь в этом, поскольку для меня очень важно понять, как с этим справиться ... было бы еще больше, если бы вы могли объяснить это несколькими примерами. – artan