В TWIG Есть ли лучший способ получить доступ к значению га sh с помощью ключа переменной? - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть шаблон ветки, в котором переменная задается путем ввода в шаблон, эквивалентный:

{% set a = 'option_a' %}

Позже я определил га sh:

{% set someHash = { option_a: "Option A!", option_b: "Option B!" } %}

One Один из вариантов использования - ввести это в javascript код, который выводится вместе со страницей. Если бы это был простой доступ к определенному га sh по ключу, я мог бы использовать:

var foo='{{ someHash.option_a }}'

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

Я попытался использовать несколько различных методов веток, чтобы попытаться получить доступ к значению someHa sh, где ключ должен быть значением «а».

Вот несколько примеров, которые не работали:

var foo ='{{ someHash.a }}';
var foo ='{{ someHash.(a) }}';
var foo ='{{ (someHash.a) }}';
var foo ='{{ someHash.#{a} }}';
var foo ='{{ (someHash.#{a}) }}';

В конечном итоге я обнаружил, что могу использовать функцию атрибута:

var foo='{{ attribute(someHash, a }}' and this works.

Вопрос прост:

Есть / есть ли другой способ в ветке, который я мог бы получить доступ к значению в га sh, где имя ключа является переменной ветки?

1 Ответ

0 голосов
/ 30 апреля 2020

Оказывается, есть простой способ сделать это с помощью записи массива. Я не уверен, почему это не так легко найти в руководстве по ветке:

{% set a = 'option_a' %}
{% set someHash = { option_a: "Option A!", option_b: "Option B!" } %}
var foo= '{{ someHash[a] }}'

// Outputs "Option A!"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...