Скажем, у меня есть объект, someObject:
{
foo: "apple",
myArray: ["abc", "def"]
}
И помощник шаблона, который выглядит так (и отлично работает):
getArray: function(){
var self = this;
self.myArray = self.myArray || [];
return self.myArray;
}
Как мне построить html, чтобы получить индекс массива?
Я пробовал:
<template name="someObject"> // takes someObject as data
{{#each getArray}}
<div class="item" data-value="{{WHAT GOES HERE?}}">{{this}}</div>
{{/each}}
</template>
В этом случае this
успешно возвращает "abc"
и "def"
. И это хорошо. Но как я могу получить индекс массива, чтобы поместить его в атрибут data-value
?
Я пробовал this.index
напрямую, но он не определен. Я также пытался использовать помощника:
<template name="someObject"> // takes someObject as data
{{#each getArray}}
<div class="item" data-value="{{getindex}}">{{this}}</div>
{{/each}}
</template>
но в этом помощнике getIndex
, когда я выхожу из console.log this
, я вижу:
String {0: "a", 1: "b", 2: "c", length: 3}
String {0: "d", 1: "e", 2: "f", length: 3}
Можно ли получить индекс?