2015-04-18 7 views
6

मुझे हाल ही में एक कोणीय परियोजना को लेने और साफ करने के लिए सौंपा गया है जो पहले से ही पूर्ण और उत्पादन में है। अंगुलर का उपयोग करने वाला यह मेरा पहला समय है।मैं कोणीय में डीओएम हेरफेर को सही तरीके से कैसे कार्यान्वित करूं?

सब कुछ मैं अब तक कोणीय पर पढ़ा है ...

... सब करने लगते हैं एक कोणीय के बारे में कहते हैं कि एक ही बात ऐप का आर्किटेक्चर सबसे विशेष रूप से:

नियंत्रकों को कभी भी डोम हेरफेर नहीं करना चाहिए या डीओएम चयनकर्ताओं को नहीं रखना चाहिए; यही वह जगह है जहां एनजी-मॉडल का निर्देश और उपयोग किया जाता है।

हालांकि, मुझे जो परियोजना सौंपा गया है वह पूरी तरह से अनदेखा करता है। उदाहरण के लिए, MenuController से एक अंश:

(function() { 
    app.controller('MenuController', function($scope) { 
    ... 

    $scope.openMenu = function() { 
     $('.off-canvas-wrap').addClass('offcanvas-overlap-right'); 
    }; 

    ... 
    }); 
}()); 

मैं इस कोड (और अन्य कोड का एक बहुत) को स्थानांतरित करना चाहिए निर्देशों के लिए? या क्या मुझे पहले से स्थापित पैटर्न के पैटर्न का पालन करना चाहिए और नियंत्रकों में डीओएम हेरफेर करना जारी रखना चाहिए?

+2

में हाँ, आप या तो उपयोग निर्देशों, या इस मामले में आप कुछ गुंजाइश संपत्ति ध्वज के साथ सरल ngClass की जरूरत है। – dfsq

+0

हां। इस तरह से जब तक कि इसके लायक नहीं है तब तक आपको कोड को दोबारा प्रतिक्रिया देना होगा। – vinayakj

उत्तर

5

हां। कोड जो डीओएम के साथ झुका हुआ है उसके पास कोणीय नियंत्रक में कोई व्यवसाय नहीं है और निर्देश में है।

कोणीय का उपयोग करने का एक अन्य लाभ यह है कि कई अच्छे तैयार किए गए निर्देश उपलब्ध हैं। तो यदि आप वैसे भी चीजों को दोबारा करने जा रहे हैं, तो आप देखना चाहेंगे कि क्या आप अन्य लोगों के निर्देशों का उपयोग कर चीजों को तेज कर सकते हैं।

उसने कहा, यह बहुत सारे काम की तरह लगता है। आप यह जानना चाहेंगे कि जो भी इस बारे में भुगतान कर रहा है और उनके साथ रिफैक्टरिंग के पेशेवरों और विपक्षों पर चर्चा करेगा।

2
$scope.openMenu = function() { 
     $scope.newClass = 'offcanvas-overlap-right'; 
    }; 

और आंशिक

<div class="off-canvas-wrap" ng-class="newClass"></div> 
संबंधित मुद्दे

 संबंधित मुद्दे