2014-07-16 7 views
2

그래서 저는 querySelector로 내 뷰에서 폴리머 사용자 정의 요소 (paper_elements 사용)를 선택하려고합니다. 나는 정상적인 html 요소를 선택할 수있다. 특히, 특정 용지 입력 요소를 선택하려고합니다. 나는 두 번째 shadowroot에 묻혀있는 입력 요소를 쿼리 할 수 ​​있기를 원합니다.다트 다트보기에서 폴리머 다트 사용자 정의 요소를 선택하는 방법

querySelector('#my-paper-input::shadow #input') 
querySelector('paper-input::shadow input') 

과 다른 변화의 무리 :

나는 다음과 같은 시도했습니다. 그러나, 내가 무엇을 상관없이 쿼리는 항상 null을 반환합니다. CSS로 스타일을 지정할 수있어서 화를 냈습니다. 뭐라구? 지금까지 내가 여러 단계

querySelector('#my-paper-input').shadowRoot.querySelector('input'); 

를 사용할 필요가 알고 있지만 당신은 또한

querySelector('#my-paper-input').attributes['value'] or 
querySelector('#my-paper-input').attributes['inputValue'] 

같은 외부 요소의 속성을 사용하여 값에 액세스 할 수 있어야로

답변

1

당신 또한 http://pub.dartlang.org/packages/angular_node_bind
을 사용할 수 있지만 최근에 종이 요소에 각도를 사용할 수 없었습니다 (https://github.com/angular/angular.dart/issues/1227 참조)

+0

주사위가 없으므로 용지 입력을 선택할 수 없습니다. >.> 뷰의 컨트롤러에서 querySelector를 실행하려고합니다. –

+0

'Element '형식의 생성자 매개 변수를 추가하면 전달 된 뷰 요소를 가져오고 뷰에서'querySelector'를 호출 할 수 있습니다. 뷰가 일반적인 Angular 구성 요소이면 그림자 자체가 있습니다. 뷰 구성 요소는 ShadowRootAware를 구현할 때'onShadowRoot' 메서드 내에서 쿼리를 수행해야합니다. 구성 요소가 완전히 초기화 된 경우입니다. 또한 Polymer가 완전히 초기화되었는지 확인해야합니다. 그렇지 않으면 shadowRoot에 액세스 할 수 없습니다. –

+0

감사합니다. 예를 볼 수 있습니까? –

관련 문제