Wyjaśnienie
Natknąłem się na coś, czego nigdy wcześniej nie widziałem. W źródle kręgosłupa.przykład JS TODO application (Backbone TODO Example) mieli swoje szablony wewnątrz <script type = "text/template"></script>
, który zawierał kod, który wygląda jak coś z PHP, ale ze znacznikami JavaScript.
7 answers
Te znaczniki skryptów są powszechnym sposobem implementacji funkcjonalności szablonów (jak w PHP), ale po stronie klienta.
Ustawiając typ na "tekst/szablon", nie jest to skrypt, który przeglądarka może zrozumieć, a więc przeglądarka po prostu go zignoruje. Pozwala to umieścić tam wszystko, co może być później wyodrębnione i wykorzystane przez bibliotekę szablonów do generowania fragmentów HTML.
Backbone nie zmusza do używania żadnej konkretnej biblioteki szablonów - są całkiem mało tam: wąsy, Haml, Eco,szablon zamknięcia Google i tak dalej (ten użyty w przykładzie, do którego linkowałeś, to underscore.js ). Będą one używać własnej składni do pisania w tych znacznikach skryptu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-21 09:35:13
Jest legalny i bardzo poręczny!
Spróbuj tego:
<script id="hello" type="text/template">
Hello world
</script>
<script>
alert($('#hello').html());
</script>
Kilka szablonów Javascript używa tej techniki. [[6]}Kierownice.js jest dobrym przykładem.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-28 00:37:13
Ustawiając znacznik skryptu type
inny niż text/javascript
, przeglądarka nie uruchomi wewnętrznego kodu znacznika skryptu. To się nazywa mikro szablon. Koncepcja ta jest szeroko stosowana w aplikacji pojedynczej strony (aka SPA).
<script type="text/template">I am a Micro template.
I am going to make your web page faster.</script>
Dla mikro szablonu Typ znacznika skryptu to text/template
. Jest to bardzo dobrze wyjaśnione przez twórcę Jquery John Resig http://ejohn.org/blog/javascript-micro-templating/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-17 05:33:25
Aby dodać do odpowiedzi Box9:
Kręgosłup.js jest zależny od podkreślenia.js, który sam implementuje oryginalne mikrotemplaty Johna Resiga.
Jeśli zdecydujesz się użyć Backbone.js z szynami, koniecznie sprawdź klejnot Jammit. Zapewnia bardzo czysty sposób zarządzania opakowaniem zasobów dla szablonów. http://documentcloud.github.com/jammit/#jst
Domyślnie Jammit używa również Mikrotemplatów JResig, ale pozwala również na wymianę silnika szablonów.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-23 22:16:06
Jest to sposób dodawania tekstu do HTML bez jego renderowania lub normalizacji.
Nie różni się niczym od dodawania w stylu:
<textarea style="display:none"><span>{{name}}</span></textarea>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-19 03:34:41
<script type = “text/template”> … </script>
jest przestarzały. Zamiast tego użyj znacznika <template>
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-30 13:05:16
Szablony JQuery to przykład czegoś, co używa tej metody do przechowywania HTML, który nie będzie renderowany bezpośrednio (o to chodzi) wewnątrz innego HTML: http://api.jquery.com/jQuery.template/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-21 08:02:17