2016-05-13 84 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