नहीं चलाएगा मेरे पास एक कस्टम निर्देश myDirective
है जो किसी तत्व पर कार्य करता है। मेरी $http
अनुरोध लोड किए गए हैं के बाद http://jsfiddle.net/hGnvv/ केवल ng-if
हालत सच में बदल जाता है:एनजी-डी के भीतर एंगुलरजेएस निर्देश
मैं
<div ng-if="condition">
<div my-directive></div>
</div>
कुछ इस बेला की तरह एक ng-if
ब्लॉक में इस निर्देश की है।
निर्देश शायद रनटाइम के दौरान संकलित किया गया है, लेकिन कभी भी लिंक नहीं किया गया है, इसलिए कोड कभी नहीं चलता है। यदि मैं ng-if
को ng-show
से प्रतिस्थापित करता हूं तो निर्देश ठीक काम करता है।
कोई समाधान?
संपादित करें: मैं ng-show
का उपयोग नहीं कर सकता क्योंकि मेरे पास फॉर्म के भीतर 130 निर्देश हैं। 20 निर्देश वैसे भी चलते हैं, और दूसरा मेरे ऑब्जेक्ट प्रकार के अनुसार चलता है।
ng-if="type == 1"
तो इन तत्वोंng-if="type == 2"
लोड अगर मैंng-show
कोng-if
बदल तो अन्य तत्वों आदि
लोड, प्रपत्र 1s के बजाय लोड करने के लिए 8s लेता है।
के लिए वस्तु संपत्ति का उपयोग करना चाहिए आपके पास पहले से ही एक समाधान है।Ng-show – nikhil
के साथ ng-show को बदलें, मैं ऐसा नहीं कर सकता, मुझे एक ही रूप में 130 निर्देश पसंद हैं। अगर मैं ng-show को ng-show के साथ प्रतिस्थापित करता हूं, तो यह सभी कोड जो चलाना है, फ़ॉर्म को बहुत धीमा कर देता है (~ 1s के बजाय 8s)। –
यदि संभव हो तो एनजी-शो का उपयोग करें। एनजी- अगर डोम से तत्व हटा देता है, तो कोणीय को संकलित करने का कोई तरीका नहीं है। –