Jaki jest rzeczywisty pytanie tutaj? Nie jest to dla mnie jasne.
Więc aktualna obsługi działania wygląda następująco:
showComment : function(comment){
//do your stuff with the model
}
Teraz pożądany rozwiązaniem mogłoby wyglądać tak:
<a {{action showCommentById comment_id href=true}}>Show</a>
i odpowiadająca Handler:
showCommentById : function(commentId){
var comment = App.Comment.findById(commentId); // i assume you have this retrieval method or something like it
this.showComment(comment);
},
showComment : function(comment){
//do your stuff with the model
}
byłoby ta praca w twoim przypadku? A może zamierzałeś coś innego?
UPDATE: PO chciałby mieć wszystkie dane Postępowanie trasie danej trasy mają obsługiwać akcję „showCommentById” że zrobiłem zaproponowania przed:
App.ArticlesRoute = Ember.Route.extend({
events : {
showCommentById : function(commentId){
var comment = App.Comment.findByIds(commentId); // i assume you have this retrieval
this.transitionTo("root.articles.comment", comment);
}
}
});
Więc faktycznie jesteś wolny aby zdecydować, w którym miejscu obsługiwać akcje w swojej aplikacji.
To działa, ALE! Chcemy nadal ładować dane (funkcje wyszukiwania połączeń w modelach) na trasie naszego routera. Szczególnie w nowym interfejsie routera ładowanie modeli na trasie jest bardzo przyjemne, więc nie jestem pewien, czy to najlepsza praktyka, aby to zrobić w naszych "funkcjach nawigacyjnych" (takich jak showComment), jak zasugerowałeś. – kraftwer1
Ale łatwo przekazujesz to połączenie na swoją trasę? Czy umiesz postawić skrzypce? Wtedy mógłbym zrozumieć Twoją obecną strukturę aplikacji. – mavilein
Próbowałem umieścić prosty przykład na skrzypcach http://jsfiddle.net/AhgBh/. To nie zadziała, ale pokazuje trochę więcej szczegółów naszej struktury. Witamy na wejściach! – kraftwer1