Mam przycisk przesyłania z wydarzeniem widoku onClick
. To zdarzenie sprawdza flagę iw zależności od warunku zezwala na przesyłanie formularzy. Chciałbym wywołać akcję na kontrolerze. Jaki jest najlepszy sposób na zrobienie tego?Wywołanie akcji kontrolera z widoku w Ember
Odpowiedz
Oto inne rozwiązanie oparte na przykład przez albertjan dla przypadek, w którym musisz wykonać pewną logikę w widoku, a następnie w delegacji zjadłem do kontrolera. To jest droga i rozumieć swoje pytanie:
HBS:
<script type="text/x-handlebars" data-template-name="index">
<button {{action submit target="view"}} >Sumbit</button>
</script>
Widok:
App.ThingView = Ember.View.extend({
submit : function(){
//do the view part of your logic
var object = //do whatever you may need
this.get("controller").send("submitInController", object); //you do not have to send object, if you do not need to
}
});
Kontroler:
App.ThingController = Em.ObjectController.extend({
submitInController: function(model) {
// do the controller part of your logic
}
});
Uwaga: Połączenie z widoku będzie również bańką do aktualnej trasy. Jest to w zasadzie ten sam kod, który ember wykonuje podczas używania pomocnika akcji.
chciałbym obsłużyć całą imprezę na kontrolerze:
HBS:
<script type="text/x-handlebars" data-template-name="index">
<button {{action "submit"}}>Sumbit</button>
</script>
Kontroler:
App.ThingController = Em.ObjectController.extend({
submit: function() {
//handle things here!
//change the state of your object here to reflect the changes that
//the submit made so that the view shows these.
}
});
W wersji 1.0.0 Ember odniosłem sukces dodając akcje do ich własnych obiektów w sterowniku.
IndexTemplate.html
<script type="text/x-handlebars" data-template-name="index">
<button {{action "submit"}}>Submit</button>
</script>
ThingController.js
App.ThingController = Ember.ObjectController.extend({
actions: {
submit: function() {
//handle things here!
//change the state of your object here to reflect the changes that
//the submit made so that the view shows these.
}
}
});
Aby uzyskać więcej informacji, zapoznaj się z {{action}}
helper documentation z Ember przewodników.
Możesz wywołać akcję z widoku, jeśli widok korzysta z ViewTargetActionSupport mixin. Poniższy przykład demonstruje jego użycie:
App.SomeController = Ember.Controller.extend({
actions: {
doSomething: function() {
alert('Doing something!');
}
}
});
App.SomeView = Ember.View.extend(Ember.ViewTargetActionSupport, {
someMethod: function() {
this.triggerAction({action: 'doSomething'});
}
});
- 1. Wywołanie metody kontrolera widoku z delegata aplikacji
- 2. Wywołanie metody kontrolera w łączu_do widoku
- 3. Render akcji kontrolera z innego kontrolera
- 4. Ember Uzyskiwanie właściwości z kontrolera w Modelu
- 5. Wywołanie metody kontrolerów w innym kontrolerze Ember
- 6. Usuwanie kontrolera widoku z pamięci podczas tworzenia nowego kontrolera widoku
- 7. Wywołanie metody z innego kontrolera
- 8. Przekierowanie ASP.Net MVC z częściowego widoku z kontrolera do pełnego widoku z innego kontrolera
- 9. Wywołanie klas w/lib z działań kontrolera
- 10. MVC4 Przekazywanie modelu z widoku do kontrolera
- 11. Jak uzyskać nazwę akcji z kontrolera podstawowego?
- 12. Przekierowanie na zewnętrzny URL z akcji kontrolera w Spring MVC
- 13. Ładowanie kontrolera widoku wewnątrz widoku w Xcode
- 14. Pasek akcji nie wyświetlający ikon widoku akcji
- 15. Jak przekierować CakePHP do innej akcji/kontrolera?
- 16. Wywołanie `super` z obsługi zdarzeń na kontrolerze Ember
- 17. Zdobądź nazwę kontrolera Laravel 5 w widoku
- 18. Kątowa: wywołanie funkcji z widoku
- 19. Przedstawienie kontrolera widoku w tvOS
- 20. Dodaj kontrolkę widoku kontrolera podrzędnego do podglądu kontrolera nadrzędnego widoku
- 21. sposobu zwracania wielu list z akcji kontrolera do sukcesu ajax wywołanie funkcji tylnym
- 22. Jak uzyskać dostęp do widoku kontrolera nadrzędnego widoku z kontrolera widoku podrzędnego?
- 23. Wywołanie metody w modelu z widoku
- 24. Renderowanie widoku innego kontrolera
- 25. Wywołanie interfejsu API WWW z kontrolera MVC
- 26. Wywołanie metody pomocnika z kontrolera Rails 3
- 27. AngularJS - Wywołanie funkcji kontrolera z usługi
- 28. Sterownik widoku push w widoku kontrolera widoku modalnego
- 29. Wywołanie funkcji kontrolera z dyrektywy o parametrach
- 30. Wywołanie określonej akcji kontrolera po kliknięciu przycisku HTML (przycisk Nie przesyłaj lub przycisk formularza) Asp.net MVC
Nie ma tu możliwości. – bcardarella
Dlaczego nie jest to możliwe? Czy wytłumaczysz proszę? – albertjan
Prześlij prawdopodobnie wymaga pewnych rzeczy związanych z DOM, których kontroler nie może (łatwo) zobaczyć. – DRobinson