2016-06-13 5 views
1

私はMeteorの初心者です。次のようにルータ:私は鉄でデータコンテキストを設定テンプレートヘルパーのIron routerデータコンテキストを取得するには

Router.route('/:index', { 
    name:'randomText', 
    template: 'textsRandom', 
    data: function(){ 
     textcol: Text.findOne({index: this.params.index}) 
    } 
} 

とテンプレートtextsRandomで、私は私が後でテキスト内の特定の単語の色を変更したいので、ヘルパーにtextcolにアクセスしたいです。

Template.textRandom.helpers({ 
    mytexts: function(){ 
     var texts = //code here to get textcol in router.js 
     //get some words from texts and change their colors 
     return texts; 
    } 
}) 

これはどのように行うべきですか?おかげでたくさんの

答えて

0

あなたのルータは、オブジェクトへのルートのデータコンテキストを設定しています。ヘルパー内のオブジェクトにはthisという名前でアクセスできます。そのオブジェクトのtextcolキーが必要なので、ちょうど:

Template.textRandom.helpers({ 
    mytexts: function(){ 
     return this.textcol; 
    } 
}); 
0

は、これはそれを行う必要があります。

// router 
function(){ 
    return { 
     textcol: Text.findOne({index: this.params.index}) 
    }; 
} 

// helper 
var texts = this.textcol;