나는 내 웹 사이트를 위해 사용자가 사이트 테마를 변경하도록 제공하고있는 기능을 구축하려고합니다. 그냥 시작, 나는 '어두운 테마'를 유지하는 줄 알았는데. 그래서, 어두운 테마를 별도로 구현하려고합니다. 각도 2의 요소를 연결하는 방법은 무엇입니까?
스크린 샷에서 알 수 있듯이 사용자가 어두운 테마를 클릭하고 사이트 색상을 변경할 수있는 모달이 열립니다. 이 모달 구성 요소는 customize.component.html
입니다. 백그라운드에서 웹 사이트의 결과를 볼 수 있습니다. 나는 이것을 results.component.html
이라고 부른다.
results.component.ts
<!-- Customization modal-box -->
<link type="text/javascript" href="../../assets/themes/theme.js">
<div class="modal fade" id="customization" tabindex="-1" role="dialog" aria-labelledby="myModallabel">
<app-customize></app-customize>
</div>
이 두 구성 요소에 대한 내 코드입니다
<link type="text/javascript" href="../../assets/themes/theme.js" id="theme">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<!-- Start ignoring HTMLLintBear -->
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<!-- Stop ignoring HTMLLintBear -->
<h2 class="modal-title" id="my-modal-label">Customization</h2>
</div>
<div class="modal-body">
<button class="theme-button" id="dark" onclick="darkTheme(title)">Dark Theme</button>
</div>
</div>
</div>
customize.component.ts
theme.js
을 만들었습니다. 하지만 내 코드가 작동하지 않습니다.
theme.js
function darkTheme(id) {
var el = document.getElementById(id);
el.style.color = "red";
}
어떻게 results.component.ts
에서 ID로 요소를 취해야합니까? 이 기능을 구현할 수 없습니다. 누군가가 나를 도울 수 있다면 좋을 것입니다! 감사!
주 - 저는 프로젝트에서 각도 재료 2를 사용하지 않습니다. 따라서 각도 재질 2를 사용하지 않고 사용자에게 테마를 제공하는 기능을 구현해야합니다.
이렇게하면 도움이됩니다. https://stackoverflow.com/questions/38944725/how-to-get-dom-element-in-angular-2 –