scope - How to assign to a global variable in Sass? -


मैं इस सॉस कोड को चलाता हूं:

  $ a: 1; @ अगर 2 + 2 == 4 {$ a: 2; } @ डेबग $ a;   

मुझे देखने की अपेक्षा है 2. आउटपुट, हालांकि, है:

  पंक्ति 5 debug: 1   

मैं समझता हूं कि Sass ने @if के अंदर एक नया $ a चर बना दिया है। मैं इस व्यवहार को कैसे बदल सकता हूं और वैश्विक $ a के लिए कोई मान असाइन कर सकता हूं?

मैं Sass 3.4.0 का उपयोग करता हूं।

जैसा कि आप Sass 3.4+ का उपयोग कर रहे हैं, आपको अपने वेरिएबल घोषणापत्र में ! Global फ्लैग संलग्न करना चाहिए:

  $ a: 1; @ अगर 2 + 2 == 4 {$ a: 2! ग्लोबल; } @ डेबग $ a; // आउटपुट 2   

वैरिएबल घोषणा पर मूल कहा गया है:

"वेरिएंट नेस्टेड चयनकर्ताओं के स्तर के भीतर ही उपलब्ध हैं जहां उन्हें परिभाषित किया गया है। यदि उन्हें किसी नेस्टेड चयनकर्ताओं के बाहर परिभाषित किया गया है, तो वे हर जगह उपलब्ध हैं।

लेकिन यह दिखाता है कि यह व्यवहार बदल गया है:

दस्तावेज़ के शीर्ष स्तर पर नहीं होने वाले सभी चर असाइन अब स्थानीय रूप से स्थानीय हैं। यदि एक ही नाम के साथ वैश्विक वैरिएबल है, तो यह जीत जाएगा ??? ! वैश्विक ध्वज का उपयोग नहीं किया जाता है।

उदाहरण के लिए, $ var: value! Global को < कोड> $ var विश्व स्तर पर। यह व्यवहार सुविधा-मौजूद (वैश्विक-चर- shadowing)

Comments

Popular posts from this blog

php - How can I cram 6+31 numeric characters into 22 alphanumeric characters? -

mysql - where clause in inner join query -

java - Why my included JSP file won't get processed correctly? -