如何使用TypeScript更改CSS中的值?

我想做一個(gè)<input>文本框,在這里你寫(xiě)一個(gè)特定的顏色,比如說(shuō)'red',然后一個(gè)特定的文本會(huì)像那樣被著色。我找到了一些指導(dǎo)方法,但是代碼是用JavaScript編寫(xiě)的,而不是TypeScript。到目前為止我得到了這個(gè):

HTML

<input id="color" />
<h1>Change the color</h1>

CSS

<style>
h1 {
   color: var(--color, blue)
}
</style>

JavaScript

const color = document.querySelector('#color');
color.addEventListener('input', e => {
document.documentElement.style.setProperty('--color', color.value)
})

當(dāng)我使用.ts類時(shí),我想知道如何編寫(xiě)上面的JavaScript?

? 最佳回答:

為了實(shí)現(xiàn)這一點(diǎn),您應(yīng)該讀取輸入的值(讓我們通過(guò)[(ngModel)]指令使用two-way綁定),然后使用這個(gè)值作為樣式規(guī)則應(yīng)用([style.color]非常適合這個(gè))。最后,您應(yīng)該只需要幾行代碼:

HTML:

<input [(ngModel)]="color" />
<h1 [style.color]="color">Change the color</h1>

TS:

export class AppComponent  {
  color: string;
}

這是一場(chǎng)閃電戰(zhàn)。

例如,我還在CSS中定義了一個(gè)默認(rèn)的藍(lán)色。這是一種默認(rèn)顏色,因?yàn)樵谶@種情況下,通過(guò)style屬性定義的樣式規(guī)則具有更高的優(yōu)先級(jí)。

UPDATE

如果要控制應(yīng)用程序上所有元素的顏色,可以通過(guò)以下方式使用top-level組件中的@HostBinding('style')

export class AppComponent  {
  color: string;

  @HostBinding('style')
  get myStyle(): SafeStyle {
    return this.sanitizer.bypassSecurityTrustStyle(`color: ${this.color};`);
  }

  constructor(private sanitizer:DomSanitizer) {}
}

這是一場(chǎng)閃電戰(zhàn)。

主站蜘蛛池模板: 亚洲熟妇成人精品一区| 久久亚洲中文字幕精品一区| 日韩精品无码人妻一区二区三区| 日本一区二区在线| 国产成人久久一区二区三区| 国产精品福利一区二区| 成人区人妻精品一区二区不卡网站| 无码人妻精品一区二区三区9厂| 免费无码一区二区三区| 久久精品无码一区二区日韩AV | 成人精品一区二区户外勾搭野战| 国产av成人一区二区三区| 日韩熟女精品一区二区三区| 怡红院AV一区二区三区| 久久精品无码一区二区三区免费 | 天码av无码一区二区三区四区| 麻豆va一区二区三区久久浪| 伊人色综合网一区二区三区 | 国产一区二区三区不卡AV| 久久国产三级无码一区二区| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 一区二区三区视频| 极品尤物一区二区三区| 成人区精品一区二区不卡亚洲 | 日韩有码一区二区| 高清一区二区三区| 精品免费久久久久国产一区| 精品久久国产一区二区三区香蕉 | 天天躁日日躁狠狠躁一区| 国产一区二区三区福利| www.亚洲一区| 久久久精品人妻一区亚美研究所| 亚洲一区AV无码少妇电影☆| 亚洲av鲁丝一区二区三区| 中文字幕日韩一区二区不卡| 秋霞日韩一区二区三区在线观看| 亚洲A∨精品一区二区三区| 国产精品伦一区二区三级视频| 日韩内射美女人妻一区二区三区 | 91福利国产在线观一区二区| 国产精品久久久久一区二区三区|