Получить индекс родительского массива в руле

У меня есть данные, которые представляют собой массив вопросов, и внутри каждого вопроса есть множество дополнительных ответов. То, что я хочу сделать, это получить указатель вопроса и ответ для каждого ответа.

Таким образом, у меня есть руль, перебирающий вопросы, затем перебирающий ответы на каждый из них. Вот что:

  {{#questions}}
  <ul>
    <li><strong>{{question}}</strong><br>
    {{#each answers}}
      {{@index}}={{this}},
    {{/each}}</li>
  </ul>
  {{/questions}} 

Вот данные, которые вставляются:

    data = {
        "questions" : [
            {
                "question":"Favorite Color",
                "answers" : ["red","blue","green"]
            },
            {
                "question":"Favorite food",
                "answers" : ["pizza","pasta","cats"]
            }
        ]
    }

Поэтому, если мне нужен индекс ответа, я могу написать @index, но если это массив внутри массива, он не работает. Возможно, вы можете написать../, чтобы получить переменные от родителя, но массив не нравится.

{{../@index}}-{{@index}}={{this}}

Это должно дать мне questionIndex-answerIndex = ответ.

Но я получаю ошибку, что-то вроде этого:

/home/ubuntu/workspace/views/survey/index.hbs: Ошибка разбора в строке 16: ... {{../@index}} {{this}}

Ошибка: /home/ubuntu/workspace/views/survey/index.hbs: Ошибка разбора в строке 16:... {{....@index}} {{this}}

Вот пример, показывающий, что он не работает: https://codepen.io/samkeddy/pen/oeMeeO (если вы уберете {{../@index}}, он будет работать.

1 ответ

Решение

Пытаться {{@../index}}-{{@index}}={{this}}

Другие вопросы по тегам