2017-01-30 55 views
0

有沒有辦法在模板助手的頂部創建一個變量來刪除重複。創建通用幫助變量

在這種特殊情況下,我使用的是var candidate = FlowRouter.getParam('id');,我必須在每個助手中創建變量。我假設有一個更好的方法。

professionalOverview: function() { 
    var candidate = FlowRouter.getParam('id'); 
     return ProfessionalOverview.findOne({ candidateUserId: candidate }); 
    }, 
    candidateImg: function() { 
    var candidateUserId = FlowRouter.getParam('id'); 

    return Files.findOne({ userId: candidateUserId }); 
    }, 

編輯

Template.talentProfileNew.onCreated(function() { 
    var self = this; 
    self.autorun(function(){ 
     this.candidateUserId = new ReactiveVar(FlowRouter.getParam('id')); 
    } 
}); 

Template.talentProfileNew.helpers({ 
    candidate: function() { 
    console.log(Template.instance().candidateUserId.get()); 

    return Meteor.users.findOne({_id: Template.instance().candidateUserId.get()}); 
    } 
}); 

回答

1

,你可以在onCreated一次閱讀(),並把它放在一個反應​​變種。例如

Template.Foo.onCreated(function() { 
    this.candidateUserId = new ReactiveVar(FlowRouter.getParam('id')); 
}); 

Template.Foo.helpers({ 
    candidateImg() { 
     return ProfessionalOverview.findOne({ userId: Template.instance().candidateUserId.get()}); 
    } 
}); 
+0

我得到'在模板助手中的異常:TypeError:無法讀取未定義的屬性'get'。有任何想法嗎? – bp123

+0

你能發佈你的更新代碼嗎? – zim

+0

在你的自動運行中,使用self而不是這個。 – zim