2016-05-13 110 views
0

在jQuery中,我有以下:每個模板上的流星?

var dis = $('.dis').children(); 
for (var i = 0; i <= dis.length; i++){ 
$(dis.find('.somediv')[i]).text(funk.list[i].api.response);} 

我試圖改變我的代碼的格式要與流星反應。爲此,我想我的代碼轉換,像這樣:

this.mete = new ReactiveVar(); 
var self = this; 
self.mete[i].set('funk.list[i].api.response'); 

這一切的要點是,在我的jQuery代碼,我有一對,每個需要在[i]要體現循環每個div周圍的標籤。

我的HTML是像這樣:

<div class="dis"><div class="somediv"></div></div> <div class="dis"><div class="somediv"></div></div>

self.mete[i].set沒有做到這一點。我想知道如何去做這件事。此外,我的理解是,在流星的HTML看起來會更像是:

<div class="dis">{{mete}}</div> 
<div class="dis">{{mete}}</div> 

回答

1

你可能想是這樣的:

Template.mytemplate.onCreated(function(){ 
    this.mete = new ReactiveVar(); 
    var self = this; 
    self.mete.set(YourListHere); //assuming your list is an array of object like {api: {response: "some response"}} 
}); 
Template.mytemplate.helper({ 
    "myList": function() { 
     return Template.instance().mete.get(); 
    } 
}); 

,並在模板:

{{#each myList}} 
<div class="dis">{{this.api.response}}</div> 
{{/each}} 
+0

只有事情是,我的列表來自jSON數據,我必須分配值'例如做[0] .it'。我不清楚如何去設置for循環。使用'{{#each}}'並不能幫助我在getJSON調用中選擇'[i]'的值,我不這麼認爲。 –

+0

你能分享一個數據和你期望的結果的例子嗎?你的數據是一個數組; '#each'循環循環遍歷數組,並在'{{#each}}'模板中使用'this'獲取每個項目。因此,您可以獲取每個元素的所有鍵,並使用'{{this.key_to_use}}'來使用它們。不確定要了解您還需要什麼。 – MrE