2 thoughts on “Bindings in template are not updated in Safari.

  1. A very similar issue breaks my entire app on Safari / Safari Mobile… In my case, I use a service that returns subjects (observables) to components and updates (using .next() ) the components with new values (the service gets new values from a server via http.get() ).
    This works fine on Chrome and FF, but not on Safari. If I debug or put console.log() in the .subscribe functions in the components, I see the new values arriving, but they are not updated in the views in Safari.

    I tried to build a plnkr that shows this for the last few hours, but haven’t managed to replicate this in isolation so far. But it seems to me to be the very same issue @tandu has…
    The views only get updated if I cause some event to fire, e.g. clicking a button in the view that is bound to a function of the component.

    @robwormald : Can you explain more? I unfortunately can’t follow your reply. Is this a bug in Safari or a bug in Angular’s change detection? How can I work around it or is this something that is investigated?
    (I already tried enclosing the code in setTimeout blocks, but that only helps partially in some cases and is not a good solution, IMHO…)

    Thanks a lot for any pointers, this is driving me nuts…

    EDIT: Forgot to add that this happens to me with all versions of angular 2 I tried, from beta 6 to beta 9 (haven’t tried any earlier version)

  2. @tandu @robwormald or anyone else with this issue: Do you have any news on that problem or some further pointer on how to avoid it / work around it? As mentioned, I’m using timeouts as a workaround, but that solution fails on some iOS devices for unknown reasons. I do not understand why not more people have that issue, as I’m hardly doing anything exotic here – and this bug is serious enough to cripple the entire framework, as the UI just does not get refreshed without the user triggering an event…