A bit. The world of AngularJS is still seems complicated for some quite 
trivial tasks :-)


вторник, 11 марта 2014 г., 20:55:59 UTC+4 пользователь Kamal написал:
>
> Denis,
>
> Its because $watch is only executed when there is a change in value for 
> the give variable to watch, in this case the ng-init gets executed after 
> the controller (by that time your log of x is already executed) where the 
> value is change there by you see myData as `world`. Simply put `x` and 
> `$scope.myData` are two different variables where `x` is being updated to 
> `$scope.myData` on in case of value change of `myData` using the $watch 
> which is invoked after the controller is initialized by the time your log 
> for x is executed it still undefined as `$scope.myData` is not yet 
> defined/change this happens after when the ng-init is executed. As far as 
> my understanding goes the controller is executed (to initialize the 
> necessary scope) first and later the directive (in this case ng-init). I 
> hope this clarifies it a bit. 
>
> On Tuesday, 11 March 2014 22:06:05 UTC+5:30, Denis Ipatov wrote:
>>
>> I made another experimet in code:
>>
>> var app = angular.module("app", []);
>>
>> app.controller("appCtrl", function ($scope) {
>>     var x;
>>     $scope.$watch('myData', function () {
>>         if ($scope.myData) {
>>             //here here you can handle your data
>>             x = $scope.myData;
>>             console.log('myData:', $scope.myData);
>>         }
>>     });
>>     console.log('my x:', x);
>>
>> Result is undefined. Why?
>>
>> my x: undefined app.js:12 <http://localhost:7007/Scripts/app.js>
>> myData: world 
>>
>>
>> Hi Denis,
>>>
>>> No that's not the only way, but it's an easy way to get started,
>>> What do you know already of angular? 
>>> you already know something about modules and dependency injection ?
>>>
>>> here is another plunk, 
>>> http://plnkr.co/edit/eauguSJOoATrATATwn6E?p=preview
>>> if you have questions about it, don't hesitate to ask!
>>>
>>> Regards
>>> Sander
>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to