2013-02-20 12 views
6

अभी, हम इस तरह हमारे लिंक का निर्माण कर रहे:मॉडल को प्रीलोड किए बिना लिंक कैसे बनाएं?

<a {{action showComment comment href=true}}>Show</a> 

कि एक लिंक जो /comments/45 तरह लग रहा है उत्पन्न करता है।

दुर्भाग्यवश, यह केवल तब काम करता है जब हम टिप्पणी को प्रीलोड करते हैं - भले ही हमारे पास पहले से ही टिप्पणी की आईडी हो। क्या टिप्पणी को प्रीलोड किए बिना यह संभव है?

कुछ ऐसा दिखाई देगा:

<a {{action showComment comment_id href=true}}>Show</a> 

उत्तर

2

क्या वास्तविक सवाल यहाँ है? यह मेरे लिए बिल्कुल स्पष्ट नहीं है।

इसलिए आपकी वर्तमान कार्रवाई हैंडलर इस तरह दिखता है:

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); 
     } 
    } 
}); 

तो वास्तव में आप स्वतंत्र हैं यह तय करने के लिए कि आपके ऐप में क्रियाएं को कैसे प्रबंधित करें।

+0

यह काम करता है, लेकिन! हम अपने राउटर के मार्ग में डेटा लोड करना चाहते हैं (मॉडलों पर कॉल ढूंढें)। विशेष रूप से नए राउटर एपीआई में, मार्ग के भीतर मॉडलों को लोड करना बहुत अच्छा हल हो जाता है, इसलिए मुझे यकीन नहीं है कि यह हमारे "नेविगेटिंग-फ़ंक्शंस" (शोकॉममेंट) में ऐसा करने के लिए सबसे अच्छा अभ्यास है, जैसा आपने सुझाव दिया था। – kraftwer1

+1

लेकिन आप आसानी से उस कॉल को अपने मार्ग पर प्रतिनिधि देते हैं? क्या आप एक बेवकूफ रख सकते हैं? तब मैं आपकी वर्तमान ऐप संरचना को समझ सकता था। – mavilein

+0

मैंने fiddle http://jsfiddle.net/AhgBh/ पर एक साधारण उदाहरण डालने का प्रयास किया है। यह काम नहीं करेगा, लेकिन यह हमारी संरचना को थोड़ा और सटीक दिखाता है। इनपुट के लिए आपका स्वागत है! – kraftwer1

संबंधित मुद्दे