我只是偶然发现了一些我从未见过的东西。在Backbone.js的示例TODO应用程序的源代码(Backbone TODO示例)中,他们在<script type = "text/template"></script>中有他们的模板,其中包含的代码看起来像PHP但带有JavaScript标签。
有人能给我解释一下吗?这是合法的吗?
我只是偶然发现了一些我从未见过的东西。在Backbone.js的示例TODO应用程序的源代码(Backbone TODO示例)中,他们在<script type = "text/template"></script>中有他们的模板,其中包含的代码看起来像PHP但带有JavaScript标签。
有人能给我解释一下吗?这是合法的吗?
当前回答
jQuery模板就是一个例子,它使用这种方法来存储HTML,而不是直接渲染(这是整个点)在其他HTML: http://api.jquery.com/jQuery.template/
其他回答
通过设置脚本标签类型而不是text/javascript,浏览器将不会执行脚本标签的内部代码。这叫做微模板。这个概念在单页应用程序(又名SPA)中广泛使用。
<script type="text/template">I am a Micro template.
I am going to make your web page faster.</script>
对于微模板,脚本标签的类型是text/template。Jquery创建者John Resig http://ejohn.org/blog/javascript-micro-templating/给出了很好的解释
这是合法的,非常方便!
试试这个:
<script id="hello" type="text/template">
Hello world
</script>
<script>
alert($('#hello').html());
</script>
有几个Javascript模板库使用了这种技术。js就是一个很好的例子。
这是一种向HTML中添加文本而不进行渲染或规范化的方法。
这和添加它没有什么不同:
<textarea style="display:none"><span>{{name}}</span></textarea>
jQuery模板就是一个例子,它使用这种方法来存储HTML,而不是直接渲染(这是整个点)在其他HTML: http://api.jquery.com/jQuery.template/
<script type = " text/template " >…使用<template>标签代替。