Доступ к другой переменной с содержимым каждого цикла - PullRequest
0 голосов
/ 19 января 2019

Данные, передаваемые в шаблон руля, выглядят так:

a = {
    x: {
       name: "xavier"
    },
    y: {
       name: "yamal"
    },
}

b = {
    properties: {
        x: {
            property: "number"
        }
    }
}

Шаблон руля выглядит так:

<div class="left-panel">
    {{a.x.name}} // Prints correctly "xavier"
    {{#each b.properties}}
        <h4>{{@key}}</h4> // Prints correctly "x"
        <h4>{{ ../a.[@key].name }}</h4> // does not print "xavier"
    {{/each}}
</div>

Как видите, я хочу иметь возможностьполучить доступ к name dict в a с помощью клавиши b.Как мне этого добиться?

1 Ответ

0 голосов
/ 20 января 2019

Ваш вопрос по сути такой же, как этот: Handlebars.js - Доступ к значению объекта с помощью переменного ключа

Единственная дополнительная деталь заключается в том, что вам потребуется использовать подвыражения на руле , чтобы выполнить два поиска (сначала @key; затем 'name').

Подвыражение позволит вам найти значение @key на ../a и передать его во второй поиск значения 'name' в результате первого поиска.

Соответствующей строкой в ​​вашем шаблоне становится:

<h4>{{lookup (lookup ../a @key) 'name'}}</h4>

Вот скрипка для вашей справки: https://jsfiddle.net/76484/b0puy52n/

...