क्या वास्तविक सवाल यहाँ है? यह मेरे लिए बिल्कुल स्पष्ट नहीं है।
इसलिए आपकी वर्तमान कार्रवाई हैंडलर इस तरह दिखता है:
showComment : function(comment){
//do your stuff with the model
}
अब अपने वांछित समाधान ऐसा दिखाई दे सकता:
<a {{action showCommentById comment_id href=true}}>Show</a>
और इसी हैंडलर:
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
}
चाहेंगे यह आपके मामले में काम करता है? या आपने कुछ और इरादा किया था?
अद्यतन: ओपी चाहते हैं मार्ग में हैंडलिंग सभी डाटा है आपका मार्ग कार्रवाई "showCommentById" है कि मैं पहले का प्रस्ताव था संभाल चाहिए:
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);
}
}
});
तो वास्तव में आप स्वतंत्र हैं यह तय करने के लिए कि आपके ऐप में क्रियाएं को कैसे प्रबंधित करें।
यह काम करता है, लेकिन! हम अपने राउटर के मार्ग में डेटा लोड करना चाहते हैं (मॉडलों पर कॉल ढूंढें)। विशेष रूप से नए राउटर एपीआई में, मार्ग के भीतर मॉडलों को लोड करना बहुत अच्छा हल हो जाता है, इसलिए मुझे यकीन नहीं है कि यह हमारे "नेविगेटिंग-फ़ंक्शंस" (शोकॉममेंट) में ऐसा करने के लिए सबसे अच्छा अभ्यास है, जैसा आपने सुझाव दिया था। – kraftwer1
लेकिन आप आसानी से उस कॉल को अपने मार्ग पर प्रतिनिधि देते हैं? क्या आप एक बेवकूफ रख सकते हैं? तब मैं आपकी वर्तमान ऐप संरचना को समझ सकता था। – mavilein
मैंने fiddle http://jsfiddle.net/AhgBh/ पर एक साधारण उदाहरण डालने का प्रयास किया है। यह काम नहीं करेगा, लेकिन यह हमारी संरचना को थोड़ा और सटीक दिखाता है। इनपुट के लिए आपका स्वागत है! – kraftwer1