Откуда берется диапазон в этом примере директивы?

Этот план взят из руководства разработчика Angular, но для меня это не имеет смысла. Предполагается, что он просто показывает базовую функциональность transclude, что я понимаю, но в визуализированном выводе вы увидите, что вдруг span тег. Откуда это пришло? Это не часть шаблона.

1 ответ

Решение

Так как ваш transclusion это просто текст (на самом деле неявный span), его нужно добавить при компиляции HTML.

Чтобы избежать этого, вы можете вручную обернуть текст вокруг любого тега, например <div>, так что он будет вставлен как есть.

Если вы действительно хотите, чтобы между ними не было тега, вы можете написать свой собственный compile метод в вашей директиве, и установите текст в element напрямую, используя elem.text(content) вместо elem.html(content)

Другие вопросы по тегам