Wykonujemy aplikację Angular2 i chcemy być w stanie w jakiś sposób utworzyć globalną zmienną CSS (i zaktualizować wartości właściwości, gdy tylko ulegną zmianie po przypisaniu zmiennej).Zmiana dynamiczna Angular2 Właściwość CSS
Przez jakiś czas używaliśmy Polymer (teraz przechodzimy na komponenty Angular2) i użyliśmy właściwości CSS (Polymer ma trochę polyfill) i właśnie zaktualizowaliśmy style za pomocą Polymer.updateStyles()
.
Czy istnieje sposób, w jaki możemy osiągnąć podobną funkcję?
EDIT:
Chcemy coś podobnego do Sass color: $g-main-color
lub CSS właściwości niestandardowe color: var(--g-main-color)
i gdy zdecydujemy się zmienić wartość właściwości, na przykład coś takiego jak updateVariable('g-main-color', '#112a4f')
dynamicznie aktualizuje wartość wszędzie. Wszystko to, gdy aplikacja jest uruchomiona.
EDIT 2:
Chcę korzystać z niektórych globalnych zmiennych CSS w różnych częściach (host, element dziecko ...) mojego CSS i być w stanie natychmiast zmienić wartość - więc jeśli zmienię -kolor zmienia się wszędzie w aplikacji.
będę używał składni Sass na przykład:
:host { border: 2px solid $my-color }
:host .some-label { color: $my-color }
można użyć czegoś podobnego rury kątowe? (ale to podobno działa tylko w HTML)
:host { border: 2px solid {{ 'my-color' | cssvariable }} }
:host .some-label { color: {{ 'my-color' | cssvariable }} }
Jestem zainteresowany, aby wiedzieć, jakie podejście wziąłeś. Mamy podobne wymagania. – Yousuf
Nadal nie mam na to rozwiązania. Tylko rozsądne dzisiejsze podejście to prawdopodobnie użycie zmiennych CSS z pewnego rodzaju polyfill ... – HoBi
Czy znasz jakiś polyfill, który może być użyty w kanale2, aby zastąpić zmienne? – Yousuf