javascript - Angularjs में $ घड़ी या एनजी-परिवर्तन का उपयोग कब करें



angularjs-ng-change (1)

मुझे कोणीय $watch फ़ंक्शंस का उपयोग कब करना चाहिए और ng-change एंगुलरज डाइरेक्टिव का उपयोग कब करना चाहिए? मेरे लिए, वे दोनों एक ही कर सकते हैं।

क्या उनके बीच कोई अंतर या उपयोग पैटर्न हैं?


वे समान नहीं हैं, स्पष्ट रूप से। नियंत्रक में केवल एक का उपयोग किया जाता है; अन्य एक इनपुट तत्व पर एक निर्देश है।

लेकिन उनके आवेदन में भी वे भिन्न हैं।

जब आप $watch का उपयोग करते हैं तो देखे गए अभिव्यक्ति का मूल्यांकन हर पाचन चक्र पर किया जाएगा, और यदि कोई परिवर्तन होता है, तो हैंडलर को आमंत्रित किया जाता है।

ng-change , हैंडलर को किसी घटना के जवाब में स्पष्ट रूप से आमंत्रित किया जाता है।

$watch साथ, परिवर्तन कहीं से भी आ सकता है: उपयोगकर्ता कार्रवाई, नियंत्रक फ़ंक्शन, सेवा - सभी हैंडलर को ट्रिगर करेंगे।

ng-change , परिवर्तन एक विशेष इनपुट तत्व पर एक उपयोगकर्ता कार्रवाई के लिए प्रतिबंधित है।

यह ध्यान देने योग्य है कि ng-change केवल ng-model साथ संयोजन में काम करता है - दूसरे शब्दों में, ng-change अभिव्यक्ति का मूल्यांकन केवल ngModel.$viewValue एक उपयोगकर्ता द्वारा शुरू की गई घटना के जवाब में होता है।





angularjs-ng-change