Używam Ember.js w mojej aplikacji, ale istnieje punkt, w którym aktualizuję właściwość kontekstu widoku (kontrolera), ale zaraz po aktualizacji jest parser (MathJax), który sprawdza dom dla zaktualizowanych pól przetworzyć go w matematyce. Jednak nawet jeśli aktualizacja ma miejsce, dzieje się tak, gdy mathjax szuka aktualizacji. To, co muszę zrobić, to zmusić embera do zaktualizowania widoku lub czekać na aktualizację embera, zanim powiem mathjaxowi, aby przeanalizował kod HTML. Czy istnieje sposób, aby to osiągnąć?Jak ręcznie zaktualizować widok w Ember.js?
8
A
Odpowiedz
17
Jest to dość powszechny przypadek użycia. Aby określić kod, który powinien zostać wykonany po zmianie właściwości, użyj obserwatora. Ember wyzwala obserwatorów po pomyślnym propagowaniu zmiany. Na przykład:
App.MathView = Ember.View.extend({
controller: null,
template: Ember.Handlebars.compile("<div>{{myProperty}}</div>"),
myPropertyDidChange: function() {
// From here the controller value is changed but DOM has not been updated
Ember.run.next(this, function() {
// This code will run when after changes have propagated to the DOM
// Call MathJax parser here
// If needed you can access the view's DOM element via this.$()
alert("New property value is in dom: "+ this.$().text());
});
}.observes('controller.myProperty')
});
Zobacz Ember zarządzający-asynchrony przewodnikiem i Dokumentacja API dla Ember.run: http://emberjs.com/guides/understanding-ember/managing-asynchrony/ http://emberjs.com/api/classes/Ember.run.html#method_next
Powiązane problemy
- 1. Jak zaktualizować widok w phpMyAdmin?
- 2. Jak powiązać widok renderowany ponownie w Ember.js?
- 3. RxJS: Jak mogę "ręcznie" zaktualizować obserwowalne?
- 4. Jak mogę ręcznie zaktualizować indeks Maven?
- 5. Jak ręcznie aktualizować widok AngularJS przy użyciu składni ControllerAs?
- 6. zaktualizować widok tekstu w działaniu z Fragment
- 7. Jak zaktualizować widok uproszczeń za pomocą wiersza polecenia systemu Windows?
- 8. Jak zaktualizować widok listy rozwijanej, gdy dane adaptera ulegną zmianie
- 9. Wiele ruterów w ember.js?
- 10. jak zaktualizować MKPolyline/MKPolylineView?
- 11. Testowanie jednostek w Ember.js
- 12. Jak ręcznie odkażać w angular2
- 13. Jak zaktualizować zestaw kapsuł działających w kernernetes?
- 14. Niszczenie obiektów w Ember.js
- 15. Jak ręcznie upuścić DataGridViewComboBoxColumn?
- 16. Ręczne wyzwalanie zmian właściwości w ember.js
- 17. Jak ręcznie utworzyć TypeTag?
- 18. Ember.js Dane, jak wyczyścić datastore
- 19. Ember.js + jQuery UI Draggable Clone
- 20. Jak sprawdzić obiekty Ember.js w konsoli?
- 21. Jak przesuwać/popować tablice w Ember.js?
- 22. Jak działa bind-attr w ember.js?
- 23. Jak zrobić _fast_ sortowanie tabel w Ember.js?
- 24. Jak przeskalować niestandardowy widok (widok powierzchni)
- 25. Wdrożenie widok jak widok pagera
- 26. Jak: Upload plików z ember.js
- 27. widżety ember.js
- 28. Otwórz scenorię - wyświetl ręcznie
- 29. Jak zaktualizować zestaw SDK GAE?
- 30. Porządkowanie modeli Ember.js w podfolderach?
Dziękuję, potrzebowałem Em.run.next (this, function() {... – Akash
Widok już nie istnieje. Gdzie powinienem teraz sprawdzić zmianę właściwości? – Cameron