javascript - Using $scope.$watch when using `this` scope in controller -
मेरे ऐगोअल ऐप में मेरे पास एक नियंत्रक है:
(फ़ंक्शन (कोण) {function MyController () {this.name = 'Dave'; // मुझे इस तरह से कोड होना चाहिए: / * $ scope। $ Watch ('name', फ़ंक्शन (नयाव्यू, पुरानाव्यू) {console.log (oldValue, "में बदल गया ", नयावाले);}); * /} window.myApp = angular.module ('myApp', [])। नियंत्रक ('MyController', [MyController]);}) (कोणीय); क्या myController
प्रोटोटाइप?
के मूल्यों को जोड़ते समय $ scope। $ Watch
की सुविधाओं का उपयोग करने का कोई तरीका है? > मैंने नोट किया है कि मेरे कोड में, अगर मैं ng-controller = "MyController as myCtrl"
जैसा कुछ जोड़ता हूं, और अपना $ scope। $ Watch
स्टेटमेंट बदलता हूं $ का दायरा। $ देखने के लिए ('myctrl.name', ...)
, मैं $ scope
निर्भरता को जोड़ने के बाद काम करूंगा, लेकिन ऐसा लगता है कि मेरा मेरे विचारों का नियंत्रक, जो गलत महसूस करता है।
संपादित करें
मैं क्या पूछ रहा हूं, इस बारे में स्पष्ट करने का प्रयास करना मेरा HTML कुछ ऐसा है:
& lt; div ng-app = "myApp" & gt; & Lt; div ng-controller = "MyController as myCtrl" & gt; & Lt; इनपुट प्रकार = "टेक्स्ट" एनजी-मॉडल = "myCtrl.name" / & gt; & Lt; p & gt; {{myCtrl.helloMessage}} & lt; / p & gt; & Lt; / div & gt; & Lt; / div & gt;
मेरा नियंत्रक ऐसा कुछ है:
कोणीय। मॉड्यूल ('myApp', [])। नियंत्रक ('MyController', ['$ scope ', फ़ंक्शन ($ गुंजाइश) {this.name =' World '; this.helloMessage = "हैलो," + this.name; var स्व = यह; $ दायरा। $ Watch (' myCtrl.name ', फ़ंक्शन () { Self.helloMessage = "हैलो", + self.name;});}]);
वह वर्तमान में काम करता है, लेकिन जैसा कि आप देख सकते हैं, $ watch
कॉल में, मुझे अपने नियंत्रक को नियंत्रक एएस
मेरे विचार से नाम, जो आदर्श से कम है।
मैंने
$ watch
अभिव्यक्ति का मूल्यांकन प्रत्येक $ डाइजेस्ट चक्र पर किया जाता है। रिटर्न मान में बदलाव श्रोता को कॉल करता है।
फ़ंक्शन (स्कोप): पैरामीटर के रूप में वर्तमान गुंजाइश के साथ कॉल किया जाता है।
उदाहरण
angular.module ('app', []) नियंत्रक ('MainCtrl', फ़ंक्शन ($ scope) {This.name = 'world' this.helloMsg = '' $ scope। $ Watch (function () {return.name} .bind (this), function (newName) {this.helloMsg = "हैलो," + newName } .bind (this))});
& lt; script src = "https: // ajax .googleapis.com / ajax / libs / AngularJS / 1.2.23 / angular.min.js "& gt; & lt; / स्क्रिप्ट & gt; & Lt; div ng-app = 'ऐप' & gt; & Lt; div ng-controller = 'mainCtrl के रूप में ctrl' & gt; & Lt; इनपुट प्रकार = 'टेक्स्ट' एनजी-मॉडल = 'ctrl.name' / & gt; {{Ctrl.helloMsg}} & lt; / div & gt; & Lt; / div & gt;
Comments
Post a Comment