2016-02-01 6 views
7

मेरे पास कार्यों की एक सूची है और जब मैं कार्य में से किसी एक पर क्लिक करता हूं तो मैं संबंधित टिप्पणियों की एक सूची लोड करना चाहता हूं। आयरन रूटर कोड:मेट्रोर एक्सेस डेटा संदर्भ ऑनक्रेटेड

Router.route('/taskComments/:_id', function() { 
     var item = Tasks.findOne(this.params._id); 
     this.render('commentList', {data: item}); 
    }, 
    { 
     name: 'taskComments', 
     fastRender: true 
    } 
); 

खाका सहायकों:

Template.commentList.helpers({ 
    comments: function(){ 
     return Comments.find({taskID: this._id}); 
    }); 

मैं ऊपर स्निपेट में कार्य आईडी (this._id) का उपयोग करने में सक्षम हूँ, लेकिन यह onCreated के लिए काम करने के लिए प्रतीत नहीं होता:

Template.commentList.onCreated(function(){ 
    this.subscribe("comments",this._id); 
}); 

जब मैं सांत्वना इस लॉग इन करें यह मेरा पीछा वस्तु देता है:

enter image description here

ध्यान दें कि कोई _id नहीं है और डेटा भी शून्य है।

उत्तर

7

आप इस कॉलबैक के अंदर Template.currentData() का उपयोग टेम्पलेट उदाहरण के प्रतिक्रियाशील डेटा संदर्भ तक पहुंचने के लिए कर सकते हैं। जब टेम्पलेट नष्ट हो जाता है तो गणना स्वचालित रूप से बंद हो जाती है।

Template.commentList.onCreated(function(){ 
    var self = this; 
    var dataContext = Template.currentData() 
    self.subscribe("comments",dataContext._id); 
}); 
संबंधित मुद्दे