It doesn't use a timer, it checks for changes when any angular event is
triggered. For example, if you do an ajax request, the response coming back
and being handled will trigger an $apply. If you're handing your own events
or doing some logic out side angular, you simply call scope.$apply
somewhere and it'll update everything.

Misko's answered this on stack overflow, which is worth reading:

http://stackoverflow.com/questions/9682092/databinding-in-angularjs

>From my experience, Angular is absolutely fast enough, and using plain JS
objects dramatically simplifies your code.

On 2 July 2012 17:01, Dmytrii Nagirniak <dna...@gmail.com> wrote:

> Hmm, that is a bit disappointing.
>
> I hoped it would use the setters/getters where supported and only fall
> back to the timers otherwise.
>
> From this perspective KnockoutJS is still my favorite :)
> I suspect that with timers there may be all sorts of other issues when the
> events will fire out of the expected order.
>
> But I maybe I'm just too concerned :)
>
>
> On 2 July 2012 16:29, Simon Russell <si...@bellyphant.com> wrote:
>
>> It's definitely a polling design, from what I can see:
>> https://github.com/angular/angular.js/blob/master/src/ng/rootScope.js
>>
>> Not entirely sure yet what actually causes the polling to occur.  (I
>> can't see any obvious uses of setTimeout or setInterval that would
>> mean it's just a simple timer, so it may be based on events + some
>> other stuff I guess.)
>>
>> Simon.
>>
>> On Mon, Jul 2, 2012 at 4:22 PM, Julio Cesar Ody <julio...@gmail.com>
>> wrote:
>> > One thing's for sure: large AngularJS apps are the only thing other
>> > than WebGL that's guaranteed to turn your MBP into a portable heater.
>> >
>> > Hey, I had to say something. Sue me.
>> >
>> >
>> >
>> > On Mon, Jul 2, 2012 at 4:19 PM, Samuel Richardson <s...@richardson.co.nz>
>> wrote:
>> >> I asked Glen the same question on the night after his talk. I can
>> confirm
>> >> the internal timer and some "magic" around the object comparison.
>> >>
>> >> Samuel Richardson
>> >> www.richardson.co.nz | 0405 472 748
>> >>
>> >>
>> >>
>> >> On Mon, Jul 2, 2012 at 4:12 PM, Ivan Vanderbyl <
>> ivanvander...@gmail.com>
>> >> wrote:
>> >>>
>> >>> Hi Dmytrii,
>> >>>
>> >>> In a nutshell from what I have read it uses an internal timer which
>> >>> continually checks the value of all keys against the last known
>> value. I'm
>> >>> not sure how efficient this is but it seems to be pretty fast in the
>> smaller
>> >>> apps where I've seen it used.
>> >>>
>> >>> — Ivan
>> >>>
>> >>> On 02/07/2012, at 4:08 PM, Dmytrii Nagirniak wrote:
>> >>>
>> >>> Hi,
>> >>>
>> >>> The angularjs looks really great. I have been a big fan of KnockoutJS
>> >>> which is similar to angularjs in some aspects.
>> >>>
>> >>> But I wonder how angular can do the two-way binding on plain
>> JavaScript
>> >>> objects?
>> >>> JS doesn't _generally_ have setters and getters and it gets even more
>> >>> complicated with arrays.
>> >>>
>> >>> KnockoutJS solved those problems by wrapping every property/obect in
>> >>> "ko.observable/ko.observableArray".
>> >>>
>> >>> I don't understand how angular does that. It must be doing some
>> >>> "smart-ass" things during the compilation.
>> >>>
>> >>> Anybody knows that?
>> >>>
>> >>> Cheers,
>> >>> Dmytrii
>> >>>
>> >>> On 29 June 2012 11:41, Ben Hoskings <b...@hoskings.net> wrote:
>> >>>>
>> >>>> For those that didn't see Glen's talk, have a quick look at the
>> slides.
>> >>>>
>> >>>> In particular, check out the embedded HTML examples. They're hooked
>> up to
>> >>>> their corresponding iframes using angular.
>> >>>>
>> >>>> Try editing the {{ handlebar-like }} snippets to see how angular
>> glues it
>> >>>> all together. It takes almost no JS to make that happen.
>> >>>>
>> >>>> - Ben
>> >>>>
>> >>>>
>> >>>>
>> >>>> On 29/06/2012, at 11:34 AM, Glen Maddern wrote:
>> >>>>
>> >>>> > Here's my talk on AngularJS from last night:
>> >>>> >
>> >>>> > http://sup-angularjs.herokuapp.com/
>> >>>> >
>> >>>> > If that's whet your appetite for writing awesome frontends with
>> hardly
>> >>>> > any code, go have a look at the source:
>> >>>> >
>> >>>> > https://github.com/geelen/angular_presentation
>> >>>> >
>> >>>> > AngularJS is pro, don't you want to be pro?
>> >>>> >
>> >>>> > -glen
>> >>>> > @glenmaddern
>> >>>> >
>> >>>> >
>> >>>> > --
>> >>>> > You received this message because you are subscribed to the Google
>> >>>> > Groups "Ruby or Rails Oceania" group.
>> >>>> > To post to this group, send email to
>> rails-oceania@googlegroups.com.
>> >>>> > To unsubscribe from this group, send email to
>> >>>> > rails-oceania+unsubscr...@googlegroups.com.
>> >>>> > For more options, visit this group at
>> >>>> > http://groups.google.com/group/rails-oceania?hl=en.
>> >>>>
>> >>>> --
>> >>>> You received this message because you are subscribed to the Google
>> Groups
>> >>>> "Ruby or Rails Oceania" group.
>> >>>> To post to this group, send email to rails-oceania@googlegroups.com.
>> >>>> To unsubscribe from this group, send email to
>> >>>> rails-oceania+unsubscr...@googlegroups.com.
>> >>>> For more options, visit this group at
>> >>>> http://groups.google.com/group/rails-oceania?hl=en.
>> >>>>
>> >>>
>> >>>
>> >>> --
>> >>> You received this message because you are subscribed to the Google
>> Groups
>> >>> "Ruby or Rails Oceania" group.
>> >>> To post to this group, send email to rails-oceania@googlegroups.com.
>> >>> To unsubscribe from this group, send email to
>> >>> rails-oceania+unsubscr...@googlegroups.com.
>> >>> For more options, visit this group at
>> >>> http://groups.google.com/group/rails-oceania?hl=en.
>> >>>
>> >>>
>> >>> --
>> >>> You received this message because you are subscribed to the Google
>> Groups
>> >>> "Ruby or Rails Oceania" group.
>> >>> To post to this group, send email to rails-oceania@googlegroups.com.
>> >>> To unsubscribe from this group, send email to
>> >>> rails-oceania+unsubscr...@googlegroups.com.
>> >>> For more options, visit this group at
>> >>> http://groups.google.com/group/rails-oceania?hl=en.
>> >>
>> >>
>> >> --
>> >> You received this message because you are subscribed to the Google
>> Groups
>> >> "Ruby or Rails Oceania" group.
>> >> To post to this group, send email to rails-oceania@googlegroups.com.
>> >> To unsubscribe from this group, send email to
>> >> rails-oceania+unsubscr...@googlegroups.com.
>> >> For more options, visit this group at
>> >> http://groups.google.com/group/rails-oceania?hl=en.
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups "Ruby or Rails Oceania" group.
>> > To post to this group, send email to rails-oceania@googlegroups.com.
>> > To unsubscribe from this group, send email to
>> rails-oceania+unsubscr...@googlegroups.com.
>> > For more options, visit this group at
>> http://groups.google.com/group/rails-oceania?hl=en.
>> >
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Ruby or Rails Oceania" group.
>> To post to this group, send email to rails-oceania@googlegroups.com.
>> To unsubscribe from this group, send email to
>> rails-oceania+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/rails-oceania?hl=en.
>>
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Ruby or Rails Oceania" group.
> To post to this group, send email to rails-oceania@googlegroups.com.
> To unsubscribe from this group, send email to
> rails-oceania+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/rails-oceania?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
or Rails Oceania" group.
To post to this group, send email to rails-oceania@googlegroups.com.
To unsubscribe from this group, send email to 
rails-oceania+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rails-oceania?hl=en.

Reply via email to