<script type =“text / template”> ... </ script>的说明

<script type =“text / template”> ... </ script>的说明

我偶然发现了一些我以前从未见过的东西。在Backbone.js的示例TODO应用程序(Backbone TODO示例)的源代码中,他们将模板放在a中<script type = "text/template"></script>,其中包含的代码看起来像是PHP之外但带有JavaScript标记的代码。

谁可以给我解释一下这个?这是合法的吗?


largeQ
浏览 727回答 3
3回答

万千封印

这些脚本标记是实现模板功能的常用方法(如在PHP中),但在客户端。通过将类型设置为“text / template”,它不是浏览器可以理解的脚本,因此浏览器将忽略它。这允许您在其中放置任何内容,然后可以在以后提取并由模板库使用以生成HTML片段。Backbone不会强迫您使用任何特定的模板库 - 那里有很多:Mustache,Haml,Eco,Google Closure模板等等(您链接到的示例中使用的是下划线.js)。这些将使用自己的语法在这些脚本标记内编写。

波斯汪

这是合法的,非常方便!试试这个:<script&nbsp;id="hello"&nbsp;type="text/template"> &nbsp;&nbsp;Hello&nbsp;world</script><script> &nbsp;&nbsp;alert($('#hello').html());</script>一些Javascript模板库使用这种技术。Handlebars.js就是一个很好的例子。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript