Почему переменные не работают нормально с литеральной функцией шаблона `css` Lit?CSS

Разбираемся в CSS
Ответить
Anonymous
 Почему переменные не работают нормально с литеральной функцией шаблона `css` Lit?

Сообщение Anonymous »

Я пытаюсь абстрагировать тему своего веб-компонента следующим образом:

Код: Выделить всё

import { css } from 'lit';

const theme = {
primary: '#fff'
}

export const baseCss = css`
:host {
--primary: ${theme.primary}
}
`
Однако, по крайней мере, в TypeScript это не работает, и я получаю следующее сообщение об ошибке:

Код: Выделить всё

Argument of type 'string' is not assignable to parameter of type 'number | CSSResultGroup'.
Почему Lit предоставляет литеральную функцию тега шаблона только для того, чтобы она не могла получать интерполяцию переменных?
Это из-за внедрения кода? Потому что unsafeCSS, похоже, работает.

Подробнее здесь: https://stackoverflow.com/questions/757 ... l-function
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «CSS»