मेरे पास कुछ कस्टम निर्देश हैं जो एनीमेशन प्रभावों के लिए jQuery का उपयोग करते हैं (कोणीय के अंतर्निहित ngShow/ngHide और जैसे कार्यात्मक हैं, लेकिन सुंदर नहीं हैं)। मुझे लगता है कि मुझे कहीं भी दस्तावेज़ीकरण में पढ़ना याद है कि कोणीय के अपने डीओएम चयनकर्ता (angular.export()
या angular.select()
की तरह कुछ) है कि मुझे $(SELECTOR)
के बजाय उपयोग करना चाहिए; हालांकि मुझे अब यह नहीं मिल रहा है।एंगुलरजेएस डोम चयनकर्ता
मैं कुछ इस तरह कर रहा हूँ:
//view
<div scroll-to="element"> //`element` is set via ng-click
…
</div>
//directive
link: function(scope, elm, attrs)
{
scope.$watch(attrs.scrollTo, function scrollToAction(newValue,oldValue)
{
if (newValue !== oldValue)
{
elm.animate({
scrollTop:
$('#'+newValue).offset().top //replace jquery selector with angular's
- elm.offset().top
+ elm.scrollTop()
});
}
});
}
मैं वास्तव में, $('#'+newValue)
से छेड़छाड़ कर रहा हूँ इसके बारे में सिर्फ जानकारी को पुन: प्राप्त है, तो मुझे नहीं लगता कि मैं कोणीय के खिलाफ अपराध करने कर रहा हूँ है।
+1 मैंने अतिरिक्त जानकारी भी जोड़ दी है जो बता सकती है कि ओपी को लगता है कि उसे एक कोणीय विधि क्यों दिखाई दे रही है जिसमें आप तत्वों का चयन कर सकते हैं। –
आह धन्यवाद, हाँ यह बिल्कुल है। मैं कोणीय से पहले jquery शामिल है, तो 'angular.element()' अभी भी बेहतर है? ऐसा लगता है जैसे यह उपनाम को हल करने के अतिरिक्त ओवरहेड जोड़ देगा। – jacob
@jacob, मैं 'angular.element()' का उपयोग करूंगा ताकि भविष्य में आपके कोड को अब jQuery की आवश्यकता न हो, तो आपको इसे अपडेट नहीं करना होगा। –