ng-repeat 내부의 메서드를 간단히 호출하려고하는데 호출 할 때 요소가 존재하지 않습니다. 왜, 어떻게 고칠 수 있는지 모르겠습니다 ...
ID가 정확합니다. 로드 후 개발 콘솔에서 실행하면 작동합니다.
$scope.buildAchievementLineFill = (achievement) => {
console.log($('#achievement-progress-' + achievement.achievementId)); // This is empty
$('#achievement-progress-' + achievement.achievementId).xmlinefill({
width: 150,
percent: achievement.unlocked ? 100 : 0,
fillWidth: 6,
gradient: true,
gradientColors: ['#10fac0', '#1cbdf9'],
speed: 2,
outline: true
});
}
<div class="badges-showcase-item column" ng-repeat="achievement in achievements">
<div class="badge-progress"
id="achievement-progress-{{achievement.achievementId}}"
ng-init="buildAchievementLineFill(achievement);">
</div>
</div>
ng-init에서 메서드를 호출 할 때 ID가 존재하지 않는 이유는 무엇입니까 ?? 이 문제를 어떻게 해결할 수 있습니까?
코드를 아래 코드로 바꾼 후 시도하십시오.
<div class="badges-showcase-item column" ng-repeat="achievement in achievements">
<div class="badge-progress" id="achievement-progress-{{achievement.achievementId}}" ></div>
{{ buildAchievementLineFill(achievement) }}
</div>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다