This works as expected.

It seems objectEquality got added way back in 
2012<https://github.com/angular/angular.js/commit/d6e3e1baabc3acc930e4fda387b62cbd03e64577#diff-1e47cbafadbdba153d94f2abee2a8451L194>without
 the proper doc description update.

The wording in yellow should be corrected, maybe by adding an extra bullet 
point that only addresses objectEquality, with its performance/memory 
implications.

Would you like to send a PR to fix the doc?

On Wednesday, May 14, 2014 12:02:20 PM UTC-7, Paul Jolly wrote:
>
> With reference to:
>
> https://docs.angularjs.org/api/ng/type/$rootScope.Scope
>
>
> Specifically the section on $watch:
>
> $watch(watchExpression, [listener], [objectEquality]);
>
> Registers a listener callback to be executed whenever the watchExpression
>  changes.
>
>    - The watchExpression is called on every call to 
> $digest()<https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$digest> 
> and 
>    should return the value that will be watched. (Since 
> $digest()<https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$digest>reruns
>  
>    when it detects changes the watchExpression can execute multiple times 
>    per 
> $digest()<https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$digest> 
> and 
>    should be idempotent.)
>    - The listener is called only when the value from the current 
>    watchExpression and the previous call to watchExpressionare not equal 
>    (with the exception of the initial run, see below). The inequality is 
>    determined according to 
> angular.equals<https://docs.angularjs.org/api/ng/function/angular.equals>
>    function....*etc*
>
>
> The sentence highlighted in yellow is the line in question. 
>
> According to:
>
> https://github.com/angular/angular.js/blob/master/src/ng/rootScope.js#L330
>
>
> and
>
> https://github.com/angular/angular.js/blob/master/src/ng/rootScope.js#L680
>
>
> angular.equals is only used when objectEquality is set to true.
>
> The problem is that if you are watching an object, without setting 
> objectEquality (the third parameter) to be true, looking to rely on the 
> sentence in yellow, you are going to be disappointed:
>
> http://plnkr.co/edit/hK27HO?p=preview
>
>
> Have I missed something here, or should the wording in yellow be 
> corrected? 
>
> Both documentation and test performed against tip/head.
>
> Thanks 
>
>
>

-- 
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