【发布时间】:2016-10-31 12:51:27
【问题描述】:
Angular2 会自动从模板中删除<script> 标签,以阻止人们将此功能用作"poor's man" loader。
这里的问题是脚本标签目前的用途不仅仅是加载代码或其他脚本文件。未来可能还会引入围绕<script> 标签的更多功能。
目前的一种用途是采用格式的 JSON-LD
<script type="application/ld+json">
{
"@context":"http://schema.org",
"@type":"HealthClub",
...
}
</script>
通常建议的解决方法是通过 ngAfterViewInit 钩子将 dynamically add script tags 指向文档,但这显然不是正确的 ng2 做法,并且不会在服务器端工作,而 JSON-LD 显然需要能够做到这一点。
是否有任何其他解决方法可用于在 angular2 模板中包含 <script> 标签(即使标签在浏览器中是惰性的),或者这是框架过于固执己见的情况?如果这种情况在 angular2 中无法解决,还有哪些解决方案?
【问题讨论】:
标签: javascript angular json-ld angular2-universal