2016-10-11 2 views
2

ElementRef을 사용하는 방법을 이해하고 요소 ID를 설정하는 것을 피해야하지만 요소의 id 속성을 설정하려는 상황이 여전히 있습니다. 입력과 레이블템플릿에 사용할 수있는 구성 요소 인스턴스 네임 스페이스/아이디가 있습니까?

예를 들어

(수 있기 때문에 제 3 자 CSS의하지 둥지) :

<input [attr.id]="'myinput'+instanceId" /> 
<label = [attr.for]="'myinput'+instanceId">My Label</label> 

난 그냥 단순이 같은 수를 증가했습니다 :

let numInstances = 0; 

@Component({ 

}) 
export class MyComponent { 

    private instanceId: number; 

    constructor(){ 
    this.instanceId = numInstances++; 
    } 
} 

하지만를 대신에 템플릿에서 사용할 수있는 구성 요소 인스턴스 네임 스페이스가 있는지 궁금합니다. 이 같은? Angular2는 #을 component 인스턴스의 고유 문자열로 대체합니다.

<input [attr.id]="#myinput" /> 
<label = [attr.for]="#myinput">My Label</label> 

이것이 없으면 Angular2 팀에 기능 요청을해야한다고 생각합니까?

+0

당신은 구성 요소 이름을 찾고 있습니까 ??? 코드에서 구성 요소 이름을 가져 오시겠습니까? – micronyks

+0

@micronyks 아니요, Component 인스턴스에 고유 한 식별자입니다. 나는 문자가 HTML id 속성에 대해 유효한 한 그것이 어떻게 생겼는지 상관하지 않는다. – Arlo

+0

안녕하세요,이 해결책을 찾았습니까? –

답변

관련 문제