Я просто наткнулся на то, чего никогда раньше не видел. В исходном примере приложения TODO для Backbone.js ( Пример Backbone TODO ) они содержали свои шаблоны внутри a <script type = "text/template"></script>
, который содержал код, похожий на что-то из PHP, но с тегами JavaScript.
Может кто-то объяснить это мне? Это законно?
type="text/tcl"
я видел в документе W3C ? Как это использовать? (Должен ли я задать еще один вопрос?)Ответы:
Эти теги сценариев являются распространенным способом реализации шаблонных функций (как в PHP), но на стороне клиента.
Установив тип «text / template», браузер не сможет понять сценарий, поэтому браузер просто проигнорирует его. Это позволяет вам помещать туда что угодно, что потом можно будет извлечь и использовать библиотеку шаблонов для генерации фрагментов HTML.
Backbone не заставляет вас использовать какую-либо конкретную библиотеку шаблонов - их довольно много: усы , Haml , Eco , шаблон Google Closure и т. Д. (В примере, на который вы ссылаетесь, используется underscore.js ). Они будут использовать свой собственный синтаксис, чтобы вы могли писать в этих тегах сценария.
источник
.innerHTML
, следовательно , это обычная практика в настоящее время среди Templating двигателей.<template />
тега. html5rocks.com/en/tutorials/webcomponents/template & caniuse.com/#search=template<template>
здесь, но сайты все еще используют эту технику, например, reddit.com. : FЭто законно и очень удобно!
Попробуй это:
Несколько библиотек шаблонов Javascript используют эту технику. Handlebars.js является хорошим примером.
источник
При установке тега script,
type
отличного отtext/javascript
, браузер не будет выполнять внутренний код тега script. Это называется микро шаблон. Эта концепция широко используется в одностраничном приложении (также известном как SPA).Для микро-шаблона тип тега сценария -
text/template
. Это очень хорошо объяснил создатель Jquery Джон Резиг http://ejohn.org/blog/javascript-micro-templating/источник
Чтобы добавить ответ Box9:
Backbone.js зависит от underscore.js, который сам реализует оригинальные микротемплаты Джона Резига.
Если вы решили использовать Backbone.js с Rails, обязательно ознакомьтесь с гемом Jammit. Он обеспечивает очень простой способ управления упаковкой активов для шаблонов. http://documentcloud.github.com/jammit/#jst
По умолчанию Jammit также использует микротемблиты JResig, но также позволяет заменить шаблонизатор.
источник
Это способ добавления текста в HTML без его визуализации или нормализации.
Это ничем не отличается от добавления:
источник
<img src="image.jpg">
внутри текстовой области браузер не будет загружатьсяimage.jpg
, браузер знает, что контент внутри текстовой области не предназначен для визуализации.</script>
вы не можете использовать ее внутри тега script, поэтому вы можете использовать текстовую область, и наоборот.<script type = “text/template”> … </script>
устарел. Используйте<template>
тег вместо.источник
<template>
Internet Explorer все еще не поддерживает этот тег<template>
. Большинство основных настольных браузеров поддерживают этот<template>
тег. Я настоятельно рекомендую использовать его сейчас. developer.mozilla.org/en/docs/Web/HTML/Element/…Шаблоны jQuery - это пример того, что этот метод используется для хранения HTML, который не будет отображаться напрямую (в этом весь смысл) внутри другого HTML: http://api.jquery.com/jQuery.template/
источник