설명
나는 방금 전에 본 적이 없는 것을 우연히 발견했다.Backbone.js의 TODO 어플리케이션 예(Backbone TODO 예)의 소스에서는 템플릿이 내부에 있습니다.<script type = "text/template"></script>
PHP에서 나온 것처럼 보이지만 JavaScript 태그가 있는 코드를 포함하고 있습니다.
누가 이걸 설명해 줄 수 있나요?이게 진짜야?
이러한 스크립트 태그는 클라이언트 측에서 템플릿 기능을 구현하는 일반적인 방법입니다(PHP에서처럼).
유형을 "text/template"로 설정하면 브라우저가 인식할 수 있는 스크립트가 아니기 때문에 브라우저는 이를 무시합니다.이를 통해 어떤 것이든 넣을 수 있으며 나중에 추출하여 템플릿 라이브러리에서 HTML 스니펫을 생성할 수 있습니다.
backbone은 특정 템플릿 라이브러리를 사용하도록 강요하지 않습니다.대부분의 템플릿 라이브러리가 있습니다.콧수염, Haml, Eco, Google Closure 템플릿 등(링크된 예에서 사용된 템플릿은 언더스코어.js입니다).이러한 스크립트 태그에는, 독자적인 구문이 사용되고 있습니다.
그것은 합법적이고 매우 편리합니다!
이것을 시험해 보세요.
<script id="hello" type="text/template">
Hello world
</script>
<script>
alert($('#hello').html());
</script>
여러 Javascript 템플리트 라이브러리가 이 기술을 사용합니다.Handlebars.js가 좋은 예입니다.
스크립트 태그 설정type
이외에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/에 의해 잘 설명되어 있습니다.
Box9의 답변에 추가하려면:
Backbone.js는 Underscore.js에 의존하며, 이 자체에는 John Resig의 원래 마이크로템플릿이 구현되어 있습니다.
Rails에서 Backbone.js를 사용하기로 결정했다면 Jammit gem을 확인하십시오.템플릿의 자산 패키지를 매우 깔끔하게 관리할 수 있습니다.http://documentcloud.github.com/jammit/ #jst
기본적으로 Jammit는 JResig의 마이크로템플릿도 사용하지만 템플릿엔진을 교체할 수도 있습니다.
렌더링 또는 정규화되지 않고 HTML에 텍스트를 추가하는 방법입니다.
이는 다음과 같이 추가하는 것과 다를 바 없습니다.
<textarea style="display:none"><span>{{name}}</span></textarea>
<script type = “text/template”> … </script>
을 사용하다<template>
태그를 지정합니다.
jQuery Templates는 이 방법을 사용하여 직접 렌더링되지 않는HTML을 다른 HTML 내에 저장하는 예입니다.http://api.jquery.com/jQuery.template/
언급URL : https://stackoverflow.com/questions/4912586/explanation-of-script-type-text-template-script
'it-source' 카테고리의 다른 글
던질 것으로 예상되는 비동기 테스트를 작성할 수 있습니까? (0) | 2022.11.29 |
---|---|
JavaScript의 "elseif" 구문 (0) | 2022.11.29 |
Vue에서 변수를 선언하는 것과 다른 점은 무엇입니까? (0) | 2022.11.29 |
MySQL - 지속적 연결과 연결 풀링 (0) | 2022.11.29 |
MariaDB의 기본 포트 번호는 무엇입니까? (0) | 2022.11.20 |