Похоже, что руль не позволяет мне получить доступ к массиву внутри моего объекта, переданного в шаблон - PullRequest
0 голосов
/ 21 апреля 2020

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

У меня есть шаблон руля, который получает объект, что-то вроде:

{node: {sections: [{name: 'abc'},{name: 'xyz'}]}}

Шаблон выглядит следующим образом:

{{#each node.sections}}
  {{#ifCond type '==' "image-left-text-right"}}
    {{> admin/section/image-left-text-right}} 
  {{/ifCond}}
  {{#ifCond type '==' "two-columns-image-and-text"}}
    {{> admin/section/two-columns-image-and-text}} 
  {{/ifCond}}
  {{#ifCond type '==' "four-columns"}}
  {{> admin/section/four-columns}} 
  {{/ifCond}}     
{{/each}} 

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

После записи в консоль всего моего объекта Я могу подтвердить, что он там, написал маленький помощник, чтобы помочь мне войти в консоль:

<script>
  console.log('----1---')
  console.log({{{json node}}})
  console.log('----2---')
  console.log({{{json node.sections}}})
  console.log('----3---')
</script>

Что очень странно, это то, что console.log на узле возвращает: enter image description here

Однако второй журнал консоли ничего не выводит.

Как будто у него нет доступа к этому атрибуту объекта?

Я использую версию handlebars@4.7.6 как в dev, так и в prod. Есть ли какой-то странный частный / publi c флаг, который я не знаю в Handlebars, который мне нужно установить, чтобы позволить ему напрямую обращаться к массиву?

1 Ответ

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

Так что, видимо, я ошибся, я использую 4.0.12 в dev и 4.7.6 в производстве файл ^ 4.0.12 в пакете. json заставил его установить более новую версию. Очевидно, что проблема связана с 4.7.6, сейчас я изменил ее на 4.0.12 и в конечном итоге выясню, какие изменения в 4.7.6 вызвали эту проблему.

...