Ang `!global` na Flag sa SASS
Ipinaliliwanag ng artikulong ito ang !global
na flag sa SASS.
Ipapaliwanag namin ang detalyadong mekanismo, mga halimbawa ng paggamit, at mga pag-iingat sa !global
na flag.
YouTube Video
Ang !global
na Flag sa SASS
Sa SASS, ginagamit ang !global
na flag upang pamahalaan ang saklaw (scope) ng mga variable. Sa wastong pag-unawa at paggamit ng flag na ito, maiiwasan ang hindi inaasahang asal ng iyong code at mapapabuti ang pagpapanatili nito.
Ano ang !global
na Flag?
Karaniwan, ang mga variable sa SASS ay may sariling saklaw (scope). Sa default, ang mga variable ay gumagana lamang sa loob ng kanilang sariling saklaw kung saan sila itinakda. Sa madaling salita, kung ang variable ay itinakda sa loob ng isang function o mixin, hindi ito magagamit sa labas ng saklaw na iyon.
Ngunit, sa paggamit ng !global
na flag, maaari mong direktang ilagay ang variable sa pandaigdigang saklaw (global scope). Pinapayagan nitong magamit ang variable sa iba’t ibang scope.
Kung Walang !global
na Flag
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}
- Sa code na ito, ang
$color
ay itinakda sa global scope kaya angcolor
na katangian ng.change
ay nananatilingred
.
Inilabas na CSS
1.change {
2 color: red;
3}
Gamit ang !global
na Flag
Lagyan natin ng !global
na flag ang parehong halimbawa.
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}
- Sa kasong ito, dahil tinukoy ang
!global
na flag, ang halaga ng$color
ay na-update sa global scope. Dahil dito, angcolor
na property ng.change
ay nagigingblue
.
Inilabas na CSS
1.change {
2 color: blue;
3}
Mga Paalala sa Paggamit
-
Pagdumi ng Pandaigdigang Saklaw (Global Scope Pollution) Ang sobrang paggamit ng
!global
na flag ay maaaring magdulot ng hindi inaasahang conflict sa scope at pagdumi ng global scope. Ito ay lalo na mahalaga sa malalaking proyekto, kung saan dapat iwasan ang labis na paggamit ng flag na ito. -
Hindi Sinasadyang Pag-overwrite ng Halaga Kapag ginagamit ang
!global
na flag, ang mga variable na may parehong pangalan ay maaaring hindi sinasadyang ma-overwrite sa ibang lugar. Kaya naman, mahalaga ang pare-pareho at malinaw na pagbibigay ng pangalan sa mga variable.
Praktikal na Halimbawa
Ang sumusunod ay isang halimbawa ng tamang paggamit ng !global
na flag.
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}
- Sa code na ito, maaaring gamitin ang
set-theme
na mixin para dynamic na mapalitan ang mga tema. Dahil na-a-update ang global variables para sa bawat tema, maaaring pamahalaan ng flexible ang maraming tema.
Inilabas na CSS
1body {
2 background-color: #333333;
3 color: #666666;
4}
Mga Karaniwang Pagkakamali at Mga Paraan Para Maiwasan
Nakakalimutan ang Flag
Kung makalimutan mong idagdag ang !global
, maaaring hindi ma-update ang variable sa nais na sakop nito. Siguraduhing idagdag ang flag kung kinakailangan.
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}
Labing-labis na Pagdepende sa Global Scope
Ang labis na pagdepende sa !global
na flag ay maaaring magpahirap sa pag-debug at pagmintina ng code. Dapat limitahan ang paggamit nito hangga't maaari.
Buod
Ang !global
na flag sa SASS ay napaka-kapaki-pakinabang sa mga tiyak na sitwasyon, ngunit dapat gamitin ito nang may pag-iingat. Sa pamamagitan ng malinaw na pag-unawa sa sakop ng variable at wastong pamamahala ng global scope, makakagawa ka ng SASS code na madaling ayusin at mapanatili.
Ang mga sumusunod ay mahahalagang punto na dapat tandaan:.
-
Ang mga variable ay nakadepende sa kanilang sakop bilang default.
-
Ang
!global
na flag ay nagbibigay-daan upang ma-update mo ang mga variable sa global scope. -
Limitahan ang paggamit ng mga flag at iwasan ang hindi sinasadyang pag-overwrite hangga't maaari.
Maaari mong sundan ang artikulo sa itaas gamit ang Visual Studio Code sa aming YouTube channel. Paki-check din ang aming YouTube channel.