यदि आप @if से मोहक हैं लेकिन eval के उपयोग के आसपास सुरक्षा समस्याओं को पसंद नहीं करते हैं, तो आप मेरे वैकल्पिक @if सहायक का उपयोग कर सकते हैं। यह आपकी स्थिति को निर्दिष्ट करने के लिए एक विशेषता परीक्षण = "expr" प्रदान करता है। अभिव्यक्ति का मूल्यांकन करने के लिए eval का उपयोग नहीं किया जाता है।
अभिव्यक्ति में वेरिएबल धूल नामों और पथ से प्रतिबंधित हैं जो संदर्भ से मूल्यों तक पहुंचने के लिए उपयोग किए जाते हैं। स्थिरांक जावास्क्रिप्ट पूर्णांक, फ्लोट, हेक्स और स्ट्रिंग फॉर्म ("xx" या 'xx') हैं। ऑपरेशंस एक "चर", स्थिर, या एक बाइनरी या यूनरी अभिव्यक्ति हो सकती है जो एक मूल्य प्रदान करती है। रिलेशनल ऑपरेटर <,>, < =,> =, ==,! =। बूलियन ऑपरेटर हैं! (यूनरी), || और & & .. ऑपरेटर प्राथमिकता जावास्क्रिप्ट के समान है और स्पष्टता के लिए कोष्ठक की अनुमति है या जब प्राथमिकता आप जो चाहते हैं वह नहीं है।
{@if test="state == 'CA' || state == 'NY'"}
true stuff goes here
{:else}
false stuff goes here
{/if}
नोट यह अभी भी cond = "expr" विशेषता eval() का उपयोग करता है अनुमति देने के लिए कोड है:
यहाँ एक उदाहरण है। यह मौजूदा कोड के लिए माइग्रेशन पथ प्रदान करता है।
आप इसे एनपीएम मॉड्यूल (https://npmjs.org/package/dustmotes-if) के रूप में स्थापित कर सकते हैं।
* स्थिति को छिद्रित करना आसान बनाने के लिए – eMarine