Javascript 在剑道模板中访问数据数组

Javascript 在剑道模板中访问数据数组,javascript,jquery,arrays,json,kendo-mobile,Javascript,Jquery,Arrays,Json,Kendo Mobile,我有一个剑道移动视图,它以JSON提要的形式获取数据,然后使用剑道模板显示数据 我想用这个JSON提要创建一个相当复杂的网格,我能想到的唯一方法是将某些项包装在一个div中,并使用一个根据其在数组中的位置而变化的类名 如何访问剑道模板中的数组对象? 举个例子: 例如,要使用JavaScript和剑道UI模板显示项目列表,我们使用以下语法: 我可以看到,data确实引用了JSON,但它不可用(data.length)返回未定义,因此该示例不起任何作用。我建议您使用CSS选择器第n个子项 div:

我有一个剑道移动视图,它以JSON提要的形式获取数据,然后使用剑道模板显示数据

我想用这个JSON提要创建一个相当复杂的网格,我能想到的唯一方法是将某些项包装在一个
div
中,并使用一个根据其在数组中的位置而变化的类名

如何访问剑道模板中的数组对象?

举个例子:

例如,要使用JavaScript和剑道UI模板显示项目列表,我们使用以下语法:


我可以看到,
data
确实引用了JSON,但它不可用(
data.length
)返回未定义,因此该示例不起任何作用。

我建议您使用CSS选择器第n个子项

div:nth-child(2n){
 ...
}

您将JSON对象视为一个列表。它是一个物体

var count = Object.keys(data).length;
alert(count);
所以我们知道Object.keys(data).length计算所有的键。因此,我们可以单独选择这些键是有道理的。对象.键(数据)[i]。您可以在其上循环,并为每2n+2个项目使用IF进行包装

for (var i = 0; i < Object.keys(data).length; i++) {
    if (i%2 == 0) {
        # this will do something for every even element
    };
}
for(var i=0;i

我建议用类包装所有内容(因此没有if语句)。然后使用CSS选择器2n+2(如果您试图用CSS完成某些事情)。

不幸的是,我试图实现的布局意味着我需要在一个类中包装多个项(单用CSS无法完成)。我需要访问阵列。谢谢-我知道我遗漏了一些基本的东西,但我发现剑道文档经常无法穿透/过时。似乎在模板中访问数组应该非常简单。如果我在控制台中有一个对示例对象的引用,那么发布示例对象的最佳方式是什么(为这样一个糟糕的问题道歉)?@CherryFlavourPez您可以只发布console.log(data);或者可以使用JSON.stringify(数据);甚至console.dir(数据)@CherryFlavourPez是的,我给你的方法会管用的。它基本上返回对象的大小(本例中为9)我得到了我所期望的数组(这不是文档所说的,而且看起来很奇怪,因为它似乎已经在某个时候完成了…)。非常感谢。例如,我该如何在一个特定的类中包装每个2n+2项呢?干杯-太好了。我需要循环,因为我试图实现的(不幸的是)不能通过CSS单独完成。我必须在一个分区中包装多个项目。谢谢您的帮助。
var count = Object.keys(data).length;
alert(count);
for (var i = 0; i < Object.keys(data).length; i++) {
    if (i%2 == 0) {
        # this will do something for every even element
    };
}