यदि चर शून्य है, तो कैसे दिखाएं / छिपाएँ


82

मैं एक चर को शून्य या नहीं के आधार पर एक div को दिखाना / छिपाना चाहता हूं।

<div ng-show="myvar"></div>

नोट: मेरे मामले में चर एक वस्तु है।

एक बहुत ही सरल सवाल है, लेकिन मैं इसे काम नहीं कर सकता।

धन्यवाद।



मायवर == अशक्त शायद
ग्रूफ़ बनी

2
गैर-अशक्त मान क्या myvarहै? ng-showकिसी भी के लिए दिखाई देगा truthy इतनी के रूप में लंबे समय के रूप, मूल्य myvarहै नहीं false, null, undefined, 0, रिक्त स्ट्रिंग या NaNयह काम करना चाहिए। कृपया संदर्भ के लिए कुछ और कोड पोस्ट करें।
फिलिप रीचर्ट

स्पष्ट करने के लिए, उपरोक्त उदाहरण काम करता है, मेरा कोड असंबंधित कारणों के लिए नहीं था। यदि मायलर झूठ है, अशक्त है या पहले कभी इस्तेमाल नहीं किया गया है (यानी $ गुंजाइश.myvar या $ rootScope.myvar कभी नहीं कहा जाता), div नहीं दिखाएगा। एक बार जब कोई मूल्य इसे सौंपा गया है, तो div दिखाएगा, सिवाय इसके कि मान विशेष रूप से गलत है।
पॉल हैगो डे

जवाबों:


200
<div ng-hide="myvar == null"></div>

या

<div ng-show="myvar != null"></div>

16
इसके <div ng-hide="myvar == null"></div>बजाय उपयोग करना एक अच्छा अभ्यास है <div ng-show="myvar != null"></div>। यह अधिक पठनीय है।
मैकर

12
@maicher यह वास्तव में संदर्भ पर निर्भर करता है
पेट्र पेलर

एनजी-शो अभिव्यक्ति का अनुवाद करता है $scope.myvar != $scope.nullया $scope.myvar != null? (यहां प्रश्न पोस्ट किया गया है stackoverflow.com/questions/31387397 )
जूलरी

कोणीय जावास्क्रिप्ट नल का उपयोग करेगा। आप वास्तव में किसी भी तरह से गुंजाइश को शून्य जोड़ना शुरू नहीं करना चाहते हैं क्योंकि नल हमेशा शून्य होना चाहिए (प्लस कोणीय $ गुंजाइश की अनदेखी करेगा। यदि यह एक अभिव्यक्ति में उपयोग किया जाता है)।
ग्रूफ़ बनी

20

स्पष्ट करने के लिए, उपरोक्त उदाहरण काम करता है, उदाहरण में मेरा कोड असंबंधित कारणों से काम नहीं करता था।

यदि myvar झूठा है, अशक्त है या पहले कभी इस्तेमाल नहीं किया गया है (यानी $ गुंजाइश ।myvar या $ rootScope.myvar कभी नहीं कहा जाता), div नहीं दिखाएगा। एक बार जब कोई मूल्य इसे सौंपा गया है, तो div दिखाएगा, सिवाय इसके कि मान विशेष रूप से गलत है।

निम्नलिखित दिखाने के लिए div का कारण होगा:

$scope.myvar = "Hello World";

या

$scope.myvar = true;

निम्नलिखित div छिपा होगा:

$scope.myvar = null;

या

$scope.myvar = false;

2

इस मामले में, मायवर एक बूलियन मूल्य होना चाहिए। यदि यह चर सत्य है, तो यह div को दिखाएगा, यदि यह गलत है .. तो यह छिप जाएगा।

चेक इस बाहर।


तो क्या आप कह रहे हैं कि यह केवल काम करेगा अगर myvarबूलियन है?
रॉबर्ट हार्वे

मैं एक समाधान खोजना चाहता हूं जहां myvar एक वस्तु है। धन्यवाद।
पॉल हेगो

1
यह एक सत्य या मिथ्या होना चाहिए।
रॉड्रिगो ओलिवेरा

पॉल, आपकी वस्तु क्या है?
रॉड्रिगो ओलिवेरा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.