2017-12-15 17 views
0

DOM에서 요소를 가져 와서 배경에 스타일을 추가해야합니다. 요소가 내 HTML에 없기 때문에 ViewChild를 #someId와 함께 사용할 수 없습니다. 일단 팝업을 열면 렌더링됩니다. 그 요소의 클래스는 'dx-popup-content'입니다. 나는 시도했지만 그럴 수 없어 this.elRef.nativeElement.querySelector('dx-popup-content') 대상 요소가 기본 요소 (이 경우 dx-scheduler)에 없으므로 수행 할 수 없습니다. 중요한 경우 DevExpress를 사용하고 있습니다.DOM에서 요소 가져 오기 - 각도 4

기본적으로, 나는 그것을 선택하고 내 함수 내 스타일을 변경하려면 :

openTooltip(event) { 
    // event.cancel = true; 
    this.prepareTooltipData(event.appointmentData); 
    } 

어떤 제안?

+0

openTooltip 처리기는 어떤 이벤트에 사용됩니까? –

답변

0

을 내가 궁금 : 어떻게하지 귀하의 HTML에? 라이브러리를 사용하고 있습니까? 즉석에서 팝업을 만드시겠습니까? 당신이 정말이 ViewChild를 사용할 수없는 경우

어쨌든, 당신은 여전히 ​​바닐라 JS를 사용할 수 있습니다

let popup = document.getElementById('dx-popup-content'); 

을 당신은 ID, 그리고 클래스를 사용하는 것이 좋습니다, 올바른 얻을해야합니다 요소.

+0

권장하지 않습니다. # 2 참조 http://angularjs.blogspot.com/2016/04/5-rookie-mistakes-to-avoid-with-angular.html –

+0

고마워! 나는 devexpress를 사용하고 예를 들어 입력을 클릭하면 HTML의 드롭 다운을 렌더링합니다. 이 요소에 클래스를 추가하거나 스타일을 추가하려면 어떻게해야합니까? –

+0

angularJs 블로그를 알려주지 마십시오. 이것은 각도입니다. 그리고 html 템플릿에 html이 있습니까? 아니면 즉시 작성하고 있습니까? – trichetriche

1

당신은 항상 document 사용할 수 있습니다

var elem = document.querySelector('dx-popup-content'); 
+0

권장하지 않습니다. # 2 참조 http://angularjs.blogspot.com/2016/04/5-rookie-mistakes-to-avoid-with-angular.html –