câu hỏi thực tế là gì đây? Điều này không rõ ràng với tôi.
Vì vậy, xử lý hành động hiện tại của bạn trông như thế này:
showComment : function(comment){
//do your stuff with the model
}
Bây giờ giải pháp mong muốn của bạn có thể trông như thế này:
<a {{action showCommentById comment_id href=true}}>Show</a>
Và xử lý tương ứng:
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
}
Would công việc này trong trường hợp của bạn? Hay bạn có ý định gì khác?
UPDATE: OP muốn có tất cả các dữ liệu Xử lý ở các tuyến đường Route của bạn nên xử lý các hành động "showCommentById" mà tôi đã đề nghị trước đây:
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);
}
}
});
Vì vậy, thực sự bạn được tự do để quyết định nơi xử lý các hành động trong ứng dụng của bạn.
Công trình này, NHƯNG! Chúng tôi muốn tiếp tục tải dữ liệu (gọi hàm tìm kiếm trên các mô hình) trong tuyến đường của bộ định tuyến của chúng tôi. Đặc biệt trong api router mới, việc tải các mô hình trong một tuyến đường được giải quyết rất đẹp, vì vậy tôi không chắc liệu đó có phải là phương pháp hay nhất hay không, để thực hiện điều này trong "điều hướng-chức năng" của chúng tôi. – kraftwer1
Nhưng bạn có thể dễ dàng ủy quyền cuộc gọi đó đến tuyến đường của bạn? Bạn có thể đặt một fiddle? Sau đó, tôi có thể hiểu cấu trúc Ứng dụng hiện tại của bạn. – mavilein
Tôi đã cố gắng đặt một ví dụ đơn giản về fiddle http://jsfiddle.net/AhgBh/. Nó sẽ không hoạt động, nhưng nó cho thấy nhiều hơn một chút trước cấu trúc của chúng ta. Chào mừng bạn cho đầu vào! – kraftwer1