Tuesday, 15 March 2011

javascript - Angular watch element height in directive -


मैं ऐसा कुछ करने की कोशिश कर रहा हूं:

index.html

  & lt; div ng-controller = "MyController" मेनू & gt; & Lt; input ng- मॉडल = "myVar" / & gt; & Lt; div स्लिम्सकोल = "{'ऊँचाई': मेन्यूइट, 'हमेशा विवेक': सत्य}" & gt; & Lt; div id = "menucontent" मेनू-सामग्री & gt; & Lt; / div & gt; & Lt; / div & gt; & Lt; / div & gt;  

जब इनपुट फ़ील्ड में पाठ होता है, तो यह मेनू-सामग्री निर्देश पर फ़िल्टरिंग कर देगा। जैसे ही यह फिल्टर होता है, मेनू-सामग्री परिवर्तन की ऊंचाई।

मेनू निर्देशक:

  angular.directive ('menu', function () {return function (scope, element) {var menuContentHeight = $ ("# menucontent") ऊँचाई ();}; गुंजाइश। $ Watch (scope.menuContentHeight, फ़ंक्शन (नयावाले, पुरानावर्त) {if (newValue! == OldValue) {console.log ('परिवर्तित!'); MenuContentHeight = newValue; समायोजित करेंइट ();}}, सच); फ़ंक्शन समायोजित करेंइट () {// ऊंचाई समायोजन प्रदर्शन}}}};  

इसलिए, जो मैं करने की कोशिश कर रहा हूं वह ऊंचाई परिवर्तन की निगरानी के लिए scope.watch का उपयोग करें और अपडेट करें। मेरा कोड काम करता है, लेकिन समस्या यह है कि वह तुरंत अपडेट नहीं होती है।

ऊंचाई समायोजित होने के साथ ही मैं ऊंचाई समायोजन अपडेट कैसे प्राप्त कर सकता हूं?

$ scope.apply ()

  का उपयोग करें। $ Watch (scope.menuContentHeight, फ़ंक्शन (newValue, oldValue) ) {If (newValue! == oldValue) {console.log ('परिवर्तित!'); MenuContentHeight = newValue; समायोजित करेंइट (); $ scope.apply (); // कॉल डायजेस्ट चक्र}}, सच);  

यह आपके लिए मदद कर सकता है ...


No comments:

Post a Comment