`!global`-flagget i SASS

`!global`-flagget i SASS

Denne artikkelen forklarer !global-flagget i SASS.

Vi vil forklare den detaljerte mekanismen, brukseksempler og forholdsregler for !global-flagget.

YouTube Video

!global-flagget i SASS

I SASS brukes !global-flagget for å endre omfanget av variabler. Ved å forstå dette flagget og bruke det hensiktsmessig, kan du forhindre uventet atferd og forbedre vedlikeholdbarheten i koden.

Hva er !global-flagget?

Normalt har SASS-variabler et omfang (scope). Som standard er variabler kun gyldige innenfor det omfanget de er definert i. Med andre ord, hvis en variabel er definert inni en funksjon eller mixin, kan den ikke brukes utenfor dette omfanget.

Men ved å bruke !global-flagget kan du direkte tildele variabelen til globalt omfang. Dette gjør at variabler kan deles på tvers av ulike omfang.

Uten !global-flagget

 1$color: red; // Global Variable
 2
 3@mixin change-color() {
 4    $color: blue; // Local variable (does not overwrite the global variable)
 5}
 6
 7.change {
 8    @include change-color();
 9    color: $color; // red
10}
  • I denne koden er $color definert i globalt omfang, så color-egenskapen til .change forblir red.

Utdata CSS

1.change {
2    color: red;
3}

Med !global-flagget

La oss legge til !global-flagget i det samme eksemplet.

 1$color: red; // Global Variable
 2
 3@mixin change-color() {
 4    $color: blue !global; // Overwrite the global variable
 5}
 6
 7.change {
 8    @include change-color();
 9    color: $color; // blue
10}
  • I dette tilfellet, fordi !global-flagget er spesifisert, blir verdien til $color oppdatert i globalt omfang. Som et resultat blir color-egenskapen til .change satt til blue.

Utdata CSS

1.change {
2    color: blue;
3}

Forholdsregler ved bruk

  • Forurensning av globalt omfang Overdreven bruk av !global-flagget kan føre til uventede konflikter og forurensning av det globale omfanget. Dette er spesielt viktig i store prosjekter, hvor overdreven bruk av dette flagget bør unngås.

  • Utilsiktet overskriving av verdier Når du bruker !global-flagget, kan variabler med samme navn utilsiktet bli overskrevet andre steder. Derfor er det nødvendig med konsistent og tydelig navngivning av variabler.

Praktisk eksempel

Følgende er et eksempel på korrekt bruk av !global-flagget.

 1$primary-color: #3498db;
 2$secondary-color: #2ecc71;
 3
 4@mixin set-theme($primary, $secondary) {
 5    $primary-color: $primary !global;
 6    $secondary-color: $secondary !global;
 7}
 8
 9.light-theme {
10    @include set-theme(#ffffff, #dddddd);
11}
12
13.dark-theme {
14    @include set-theme(#333333, #666666);
15}
16
17body {
18    background-color: $primary-color;
19    color: $secondary-color;
20}
  • I denne koden kan mixinen set-theme brukes til å bytte tema dynamisk. Siden globale variabler oppdateres for hvert tema, kan flere temaer håndteres fleksibelt.

Utdata CSS

1body {
2    background-color: #333333;
3    color: #666666;
4}

Vanlige feil og mottiltak

Å glemme flagget

Hvis du glemmer å legge til !global, blir kanskje ikke variablene oppdatert i ønsket scope. Pass på å legge til flagget eksplisitt når det er nødvendig.

1@mixin update-color() {
2    $color: green; // Local variable (does not overwrite the global variable)
3}
4
5@mixin update-color-global() {
6    $color: green !global; // Overwrite the global variable
7}

Overdreven avhengighet av globalt scope

Å stole for mye på !global-flagget kan gjøre feilsøking og vedlikehold av koden vanskelig. Bruken bør holdes på et minimum.

Sammendrag

!global-flagget i SASS er veldig nyttig i spesifikke situasjoner, men bør brukes med forsiktighet. Ved å ha en tydelig forståelse av variabelens scope og håndtere globalt scope riktig, kan du lage svært vedlikeholdbar SASS-kode.

Følgende er viktige punkter å huske på:.

  1. Variabler avhenger som standard av sitt scope.

  2. !global-flagget gir deg mulighet til å oppdatere variabler i globalt scope.

  3. Bruk flaggene så lite som mulig, og unngå utilsiktede overskrivinger der det lar seg gjøre.

Du kan følge med på artikkelen ovenfor ved å bruke Visual Studio Code på vår YouTube-kanal. Vennligst sjekk ut YouTube-kanalen.

YouTube Video