you have a few options . You can use rx.js bundled with angular 2 
(Observables), or you can use ES6 promises (I believe they are patched by 
angularjs ). 
While angular 2 definitely is less "magic" than v1 ,your script wouldn't 
not have even worked in v1 without a watch somewhere. But i'd advise you to 
use probmises.

Le vendredi 25 septembre 2015 22:54:26 UTC+2, Vern Jensen a écrit :
>
> I'm having an issue with Angular 2 (using Alpha 35) where I'm updating the 
> data used by ng-for, but the HTML page doesn't refresh until the user does 
> something to interact with it. I'm wondering if this is an Angular 2 bug, 
> or something I'm not doing correctly. (Probably the latter.)
>
> I've got a plnkr demonstrating the issue:
> http://plnkr.co/edit/6ZQeLgLIWwzUSL4rxNv5?p=preview
>
> Enter an item or two in the field, and click "Add Todo". Then click 
> "Choose File", select some text file on your hard drive, and then click 
> "Load selected file".
>
> At this point, notice thie code is calling the callback provided here:
>
> loadButtonPushed()
>  {
>  
>     var _this = this;
>
>
>     this.loadFileAsText( fileToLoad, function(data) {
>        
>         console.log("hi");
>        
>         _this.todos = [];
>  
>     });
> }
>
>
>
> This is where I'm not sure I'm doing the 'right thing'. Notice that I'm 
> using _this to keep track of the context, so I can get the correct context 
> from inside the callback.
> This method works for me in other scenarios though, so maybe it has 
> nothing to do with the issue.
>
> Anyway, when you click Load Selected File, notice that the todos list gets 
> erased. However, the web page *does not update* right away. You'll have to 
> interact with it
> to get it to update, perhaps by clicking in the Add Todo text field and 
> typing some text. THEN the list will erase.
>
> I'm having a similar issue in a different project, where the user has to 
> click a button to get the HTML to update.
>
> Minor notes:
> You'll notice I commented out a "window.setTimeout" that erases 
> _this.todos as well, to see if that would duplicate the issue, since a 
> callback is involved. It did not.
>
> This Plunkr uses Alpha 34 but I'm using 35 on my local machine and having 
> the same issue. (Not using latest since I need TypeScript Definition files, 
> and those haven't caught up with the latest release yet.)
>

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