javascript - AngularJS - Angular way of binding on parent to trigger child -


मेरे पास निम्न मार्कअप है:

  & lt; div class = "parent" & gt; & Lt; div class = "child" & gt;  

और मेरे पास दो निर्देश हैं, एक अभिभावक और बच्चे के लिए एक है। अब, माता पिता पर एक घटना (क्लिक करें) पर, मुझे child पर कुछ होने चाहिए (कहना है कि एक क्लिक हो)

ऐसा करने का jQuery का तरीका होगा:

  app.directive ('parent', function () {return {restrict: 'c', link: function ( दायरा, तत्व, एटर्स) {element.bind ('click', function () {element.find ('। Child')। क्लिक करें ();})}}}}  

और अगर मैं ग़लत नहीं हूँ, तो काइवर का रास्ता, मूल में एक गुंजाइश बदल सकता है, और बच्चे में इसके लिए $ watch :

  App.directive ('parent', function () {return {restrict: 'c', link: function (scope, element, attrs) {scope.childEvent = false; element.bind ('click', function)) Scope.childEvent = true;});}}} एप्लिकेशन डायरेक्टिव ('बच्चे', फ़ंक्शन) {वापसी {प्रतिबंधित करें: 'सी', लिंक: फ़ंक्शन (स्कोप, एलिमेंट, एटर्स) {स्कोप। $ Watch ('childEvent ', फ़ंक्शन (मूल्य) {If (value) element.click (); }}}}}  

क्या कोई मुझे बता सकता है कि कौन से विधि बेहतर है, और क्यों? पहली विधि निश्चित रूप से छोटी है, लेकिन ऐसा लगता है कि हर कोई कहता है कि काली रास्ता दूसरी विधि है (ताकि मैं jQuery का उपयोग न करें) मैं जानना चाहता हूं कि यदि मैं jQuery के रास्ते का उपयोग करता हूं तो क्या समस्याएं पैदा हो सकती हैं।

मुझे लगता है, दूसरा संस्करण आपकी समस्या को सुलझाने का "कोणीय रास्ता" है यह एक है (यदि आप किसी कोयोलर डेवलपर के दृश्य से देखते हैं) समाधान जो DOM मैनुअल को छेड़छाड़ किए बिना हो जाता है मेरी राय में कि अंगुलर जेएस का मुख्य विचार है: DOM मैनुअल में हेर-फेर करना बंद करो - अंगूठी आपके लिए ऐसा करें।


Comments

Popular posts from this blog

sqlite3 - UPDATE a table from the SELECT of another one -

c# - Showing a SelectedItem's Property -

javascript - Render HTML after each iteration in loop -