5

से निर्देश हटाएं संकलित और लिंक किए गए तत्व से गतिशील रूप से जोड़ने या निकालने का उचित तरीका क्या है?कोणीयजेएस - गतिशील रूप से तत्व

मेरे पास एक ऐसा पृष्ठ है जिसमें इनपुट का समूह है (सूची बहुत लंबी है, इसलिए मैं एक सामान्य समाधान के साथ आना चाहता हूं)। यदि मैं विशिष्ट ध्वज सेट करता हूं तो सभी इनपुट अक्षम करना है। मैं jQuery के element.prop ('अक्षम', सत्य) का उपयोग करके ऐसा कर सकता हूं।

इस तरह की दृष्टिकोण की समस्या यह है कि यदि किसी भी इनपुट में एनजी-अक्षम या एनजी-सक्षम निर्देश संलग्न हैं, तो उनके किसी भी अभिव्यक्ति संशोधन पर वे पहले सेट 'अक्षम' संपत्ति को ओवरराइड करेंगे। लेकिन मैं चाहता हूं कि वे मेरे वैश्विक ध्वज को ओवरराइड न करें।

मैं एनजी-अक्षम या एनजी-सक्षम अभिव्यक्ति के लिए वॉचर्स का एक और समूह जोड़ने के समाधान के साथ आया, लेकिन ऐसा लगता है कि यह सबसे अच्छा तरीका नहीं है।

मैं क्या करना चाहता हूं, तत्व से जुड़े अधिकांश निर्देशों को हटाना और उचित गुण सेट करना है। लेकिन अगर मैं तत्व को दोबारा जोड़ता हूं और फिर से जोड़ता हूं, और उसके बाद दस्तावेज़ में इसे प्रतिस्थापित करता हूं, तो मुझे स्मृति रिसाव मिलेगा, क्योंकि पुराने तत्व को डोम दस्तावेज़ पेड़ से हटा दिया जाएगा, और स्मृति में रहेगा। मैं तत्व के दायरे को भी नष्ट नहीं कर सकता, क्योंकि वे तत्व मूल रूप से पूरे पृष्ठ के मुख्य दायरे का उपयोग करते हैं।

+4

क्या आपने कोशिश की है [ngIf] (http://docs.angularjs.org/api/ng.directive:ngIf) – dohaivu

+0

आपकी समस्या यह सब स्पष्ट नहीं है, लेकिन आपको डीओएम नोड्स को हटाने की आवश्यकता क्यों है आप जो भी करने की कोशिश कर रहे हैं वह उन्हें ध्वज के आधार पर अक्षम कर रहा है। मैं भी स्पष्ट हूं कि आपके संदर्भ में "वैश्विक ध्वज" का अर्थ क्या है। – dmackerman

+0

मैं थोड़ा उलझन में हूं कि आप इनपुट के साथ क्या करना चाहते हैं। अगर उनके पास यह <इनपुट ng-disabled = "true" /> है तो आप कुछ ऐसा चाहते हैं जो एनजी-अक्षम हो जाए? – SoEzPz

उत्तर

0

आप

<div ng-show="someBoolean" >Some text or nested element</div> 

या के बजाय की तरह कुछ कोशिश कर सकते हैं "someBoolean" क्या आप एक समारोह है कि एक बूलियन पर ले कर जाता संलग्न कर सकते हैं। आपके इनपुट के अपने मॉडल को अद्यतन करता/बूलियन मान

<button type="button" ng-click="setBoolean()">Some text or nested element </button> 

लिए क्लिक करें एनजी अपने बूलियन सेट करने के लिए आप एक संलग्न कर सकता है क्योंकि चक्र

पचाने की angulars दो तरह से बाध्यकारी एनजी शो डेटा अगले के पूरा होने पर अद्यतन किया जाएगा
संबंधित मुद्दे