Как мне ссылаться на частичное Handlebars внутри частичного на клиенте? - PullRequest
0 голосов
/ 20 мая 2019

Фон

У меня есть две части: «Сообщение» и «Тема».Сообщения могут иметь много тем, и я пытаюсь создавать новые сообщения, используя руль.Сообщения используют каждый цикл для отображения каждой темы.

{{#each subjects}}
    {{> subject}}
{{/each}}

Темы выглядят так:

<li class="post-subject">{{postSubject}}</li>

Конкретная проблема

Яполучение ошибки" Частичный субъект не может быть найден ", когда я передаю объект, подобный этому:

// Subjects come in this form
let subs = [{"postSubject": "Avengers: Endgame"},
            {"postSubject": "Avengers: Infinity War"}];

let postObj = {
    postContent: "some_string",
    timestamp:   "some_string",
    subjects:    subs
};

этой функции:

let newPost = Handlebars.templates.post(postObj);

Я, честно говоря, не уверен, почему он не может найти субъекты частичными, поскольку я могу передать точно такой же массив объектов с моего сервера клиенту, и он прекрасно их отображает.Конечно, сдача [] для предметов работает просто отлично.Все мои партиалы также хранятся в одной папке.

Я предполагаю, что функция шаблонов позволяет клиенту выяснить, где хранится партиал 'Post', но не там, где могут быть другие, и поэтому он может 'Я не нахожу эти предметы частичными, но я, честно говоря, не знаю.

Не стесняйтесь задавать любые вопросы, если в некоторых местах я расплывчатый / не предоставил достаточно информации.Заранее спасибо!

1 Ответ

0 голосов
/ 20 мая 2019

Обдумав это в течение горячей секунды, я наконец-то обнаружил, что мне нужно зарегистрировать частичное субъекта, используя:

Handlebars.registerPartial('subject', '<li class="post-subject">{{postSubject}}</li>');

Я хотел бы сослаться на фактическое частичное во втором элементе, ноЯ не уверен как.Это работает, хотя, и это все, что мне нужно.

...