में $ घड़ी या एनजी-चेंज का उपयोग कब करें जब मुझे कोणीय $watch
फ़ंक्शन का उपयोग करना चाहिए और ng-change
कोणीय निर्देशों का उपयोग कब करना चाहिए? मेरे लिए, वे दोनों एक ही कर सकते हैं।Angularjs
क्या उनके बीच कोई अंतर या उपयोग पैटर्न हैं?
में $ घड़ी या एनजी-चेंज का उपयोग कब करें जब मुझे कोणीय $watch
फ़ंक्शन का उपयोग करना चाहिए और ng-change
कोणीय निर्देशों का उपयोग कब करना चाहिए? मेरे लिए, वे दोनों एक ही कर सकते हैं।Angularjs
क्या उनके बीच कोई अंतर या उपयोग पैटर्न हैं?
वे समान रूप से समान नहीं हैं। एक पूरी तरह से नियंत्रक में प्रयोग किया जाता है; दूसरा एक इनपुट तत्व पर एक निर्देश है।
लेकिन यहां तक कि उनके आवेदन में वे भिन्न हैं।
जब आप $watch
का उपयोग करते हैं तो देखा गया अभिव्यक्ति प्रत्येक पाचन चक्र पर मूल्यांकन किया जाएगा, और यदि कोई परिवर्तन होता है, तो हैंडलर का आह्वान किया जाता है।
ng-change
के साथ, हैंडलर को किसी ईवेंट के जवाब में स्पष्ट रूप से बुलाया जाता है।
$watch
के साथ, परिवर्तन कहीं से भी आ सकता है: उपयोगकर्ता क्रिया, नियंत्रक कार्य, सेवा - सभी हैंडलर को ट्रिगर करेंगे।
ng-change
के साथ, परिवर्तन किसी विशेष इनपुट तत्व पर उपयोगकर्ता कार्रवाई तक ही सीमित है।
यह भी है कि ng-change
काम करता है केवल ng-model
के साथ संयोजन में नोट करने के लिए लायक है - दूसरे शब्दों में, ng-change
अभिव्यक्ति मूल्यांकन किया जाता है केवल जब ngModel.$viewValue
(अधिक जानकारी के लिए ngModelController
प्रलेखन देखें) बदल गया है, जो आम तौर पर जवाब में होता है उपयोगकर्ता द्वारा शुरू की गई घटना के लिए।
$ घड़ी और एनजी-परिवर्तन मोटे तौर पर एक ही चीज़ करता है, लेकिन उनके उपयोग के मामले अलग हैं। – Ved
$ घड़ी मूल्यों (पुराने और नए) की जांच करेगी और हर बार एंगुलर $ पाचन चक्र चलाने के कारण उन्हें तुलना करेंगी। एनजी-चेंज का उपयोग लगभग वही बात करता है, लेकिन मेरा मानना है कि यह उपयोग करने के लिए वाक्य रचनात्मक रूप से अधिक सही है। –
एक और सवाल काफी समान है: http://stackoverflow.com/questions/19007281/angular-trigger-changes-with-watch-vs-ng-change-ng-checked-etc – Qianyue