मैं अंगुलरजेएस में एक घड़ी स्थापित करने का प्रयास कर रहा हूं और मैं स्पष्ट रूप से कुछ गलत कर रहा हूं, लेकिन मैं इसे काफी समझ नहीं सकता। घड़ी तत्काल पृष्ठ लोड पर गोलीबारी कर रही है, लेकिन जब मैं देखे गए मूल्य को बदलता हूं तो यह फायरिंग नहीं होता है। रिकॉर्ड के लिए, मैंने देखे गए चर को वापस करने के लिए एक अनाम फ़ंक्शन पर घड़ी भी सेट की है, लेकिन मेरे पास सटीक परिणाम हैं।
मैंने नियंत्रक में सबकुछ कर, नीचे एक न्यूनतम उदाहरण को कठोर कर दिया है। यदि इससे कोई फर्क पड़ता है, तो मेरा वास्तविक कोड निर्देशों में लगा हुआ है, लेकिन दोनों एक ही तरीके से विफल हो रहे हैं। मुझे लगता है कि कुछ मूलभूत होना है जो मुझे याद आ रही है, लेकिन मुझे बस यह नहीं दिख रहा है।
HTML:
<div ng-app="testApp">
<div ng-controller="testCtrl">
</div>
</div>
जे एस:
var app = angular.module('testApp', []);
function testCtrl($scope) {
$scope.hello = 0;
var t = setTimeout(function() {
$scope.hello++;
console.log($scope.hello);
}, 5000);
$scope.$watch('hello', function() { console.log('watch!'); });
}
टाइमआउट काम करता है, hello
वेतन वृद्धि, लेकिन घड़ी आग नहीं करता है।
डेमो http://jsfiddle.net/pvYSu/
'setTimeout' के उपयोग सिर्फ उदाहरण के लिए था बिना उपयोग कर सकते हैं। '$ लागू करें() 'असली दुनिया में जो खो रहा था वह था। धन्यवाद! –