Добавление индивидуального необработанного шаблона

Привет! Я пытаюсь добавить свой собственный шаблон Raw, а не просто переопределить существующий.

Причина: хочу избавиться от этих неприятных тегов Ember, которые появляются при использовании вложенных компонентов.

Сначала я предположил, что это будет так же просто, как добавить файл в директорию templates или templates/list, поэтому я сделал это, но шаблон был проигнорирован (система не нашла мой шаблон).

Может быть, можно подтвердить, что это не поддерживается?

Затем я нашел это:

и это:

Поэтому я попробовал следующее:

import { addRawTemplate } from "discourse-common/lib/raw-templates";
import { compile } from "handlebars";

<--- некоторая инициализация -->

addRawTemplate('search-result-entry', compile(`<span class='result-lala'>привет</span>`));

Но получил эту ошибку:

TypeError: Handlebars.compile is undefined

Спасибо!

Извините, если я что-то делаю не так…

(Кстати, это будет очень полезно, так что спасибо за реализацию!)

Вы должны иметь возможность добавлять сырой шаблон напрямую в папку шаблонов. Мы сделали это в discourse-docs. Теперь они используют расширение файла .hbr, поэтому, возможно, проблема именно в этом.

Вы имеете в виду обёртку <div>, которая по умолчанию добавляется к компонентам ember? Это можно отключить, установив tagName в пустую строку:

Работа с компонентами ember гораздо проще, чем с «сырыми» шаблонами, поэтому я определённо рекомендую придерживаться ember, если это возможно.

Ах, я держал свои шаблоны hbr в templates/components! (что, конечно же, неверно, когда так записываешь)

Спасибо за этот пример, Джастин! Исправил, перенеся это в папку templates, дьявол возьми!

Теперь работает!

@david, очень полезный совет, спасибо! Я тоже этим воспользуюсь! Это позволит мне сохранить действия, идеально.

Кажется, я всё слишком усложнил, спасибо!