У меня есть {{#each}}, который по сути повторяется через коллекции пользователей. Теперь я хочу проверить, является ли пользователь администратором, чтобы установить переключатель (материализовать). Упрощенная версия:{{#if}} внутри {{#each}} с параметром, исходящим от каждого элемента.
{{#each getUsers}}
testing: {{_id}} {{#if isAdmin "tTEScMyjCedano2oT"}}checked="checked"{{/if}}
{{/each}}
Здесь я жесткого кодирования в параметре _ID в {{#if}}
и она работает, как ожидалось. Функция isAdmin
работает правильно, работает {{#if}}
и {{id}} (выводит правильный идентификатор).
Но, конечно, я не хочу, чтобы жесткий код передал код isAdmin
, но хочу, чтобы он был {{_id}}
, но он не работает. т.е.
{{#each getUsers}}
testing: {{_id}} {{#if isAdmin "{{_id}}"}}checked="checked"{{/if}}
{{/each}}
не работает, и ни один не делает
{{#each getUsers}}
testing: {{_id}} {{#if isAdmin "{{../_id}}"}}checked="checked"{{/if}}
{{/each}}
ни
{{#each getUsers}}
testing: {{_id}} {{#if isAdmin {{id}}}}checked="checked"{{/if}}
{{/each}}
Что такое правильный способ сделать это?
Спасибо, это работает! Принят, когда смогу. Это потому, что оно уже находится в '{{}}, то есть из' # if'? – Dan
Да, на данный момент вы не можете вложить подвыражения Spacebars в помощнике. – saimeunt
Причина, по которой это работает, заключается в том, что в вашем заявлении '# each' он изменяет контекст данных для обращения к« каждому »пользователю, поэтому вместо того, чтобы делать' user._id', вы можете просто использовать 'id' сам по себе, потому что он уже знает, что вы имеете в виду 'user' – SirCharlesWatson