질문은 매우 간단합니다. 모든 입력을 고유 ID에 연결하는 방법은 무엇입니까? 이는 HTML id를 생성하거나 ng-repeat에서 요소 그룹에 대한 고유 속성 값을 정의하는 데 매우 유용합니다.고유 ID를 출력하는 각도 필터를 만드는 방법
참고 : ID는 '전체적으로'고유해야 앵글 ng 반복의 $index
을 쓸모 없게 만들 수 있습니다. 이제
, 아마 당신의 마음에 오는 솔루션은 다음과 같이이다 :
myModule.filter('uniqueId', function(){ var idCounter = 0; return function(input) { return (input || '') + (++idCounter); }; });
하고 HTML에 당신과 같이 쓰기 : 도전은
<div id="{{groupName | uniqueId}}">
을 groupName | uniqueId
을 평가하면 절대 값이 산출되지 않으므로 해당 각도가 다이제스트 루프로 실행됩니다.
마지막으로 한 가지. 각도 1.3.1의 새 ::
(즉 한 번 바인딩) 연산자를 사용할 수 없음을 의미하는 각도 v1.2.27을 사용합니다.
체크 고유 값의 객체 : 당신은 개별 속성 대신 개체에 바인딩 할 수있는 경우
데이비드에게 감사드립니다. 일부 경우이 문제가 확실히 해결되었습니다. 그러나 객체를 사용한다는 것은 uniqueId를 기존 입력 문자열 (HTML 아이디는 [A-Za-z]로 시작해야 함)에 연결할 수 없거나 다음과 같이해야한다는 것을 의미합니다. (입력. $$ uniqueValue = (입력. $$ 그룹 이름 || '') + ++ idCounter)' –