Angular2 автоматически удаляет теги <script>
из шаблонов, чтобы остановить людей, использующих эту функцию, в качестве "плохого человека" загрузчика.
Проблема здесь в том, что теги script в настоящее время имеют больше возможностей, чем просто загрузка кода или других файлов script. Существует вероятность того, что дальнейшая функциональность вокруг тегов <script>
будет представлена и в будущем.
Одним из текущих применений является JSON-LD, который принимает формат
<script type="application/ld+json">
{
"@context":"http://schema.org",
"@type":"HealthClub",
...
}
</script>
Обычно предлагаемая работа заключается в динамическом добавлении тегов script в документ с помощью ngAfterViewInit
hook, но это, очевидно, не является правильной практикой ng2 и будет не рабочая сторона сервера, которую, очевидно, должен иметь JSON-LD.
Существуют ли какие-либо другие обходные пути, которые мы можем использовать для включения тегов <script>
в шаблоны angular2 (даже если тег инертен в браузере), или это случай, когда структура слишком самоуверенная? Какие другие решения могут существовать, если эта ситуация не может быть решена в angular2?