업데이트 :이 문제에 을 파고의 또 다른 일 후, 나는 현재 jQuery를 템플릿 LIB는이 작업을 수행하는 방법을 제공하지 않는다는 점을 발견했다. this article 은 좋은 접근 방법을 설명합니다.단일 xHttpRequest에서 여러 jQuery 템플릿을 패키지화하는 가장 좋은 방법은 무엇입니까?
이 작업에 대한 추가 의견이 있으면 에 대해 듣고 싶습니다. 위에 링크 된 문서는 반환 된 템플릿 문자열이 이 DOM에 삽입되어야한다고 요구합니다. 마치 이 DOM을 벗어나는 것처럼 보이면 브라우저가 적합하며 브라우저는 이상이어야합니다. 많은 페이지가 복합 템플릿으로 이루어져 있고 이 사용되지 않을 수도 있습니다. 템플릿이 스크립트 태그로 묶여 있기 때문에 템플릿 당 하나의 DOM 항목 만 있습니까?
함께 여러 관련, 상대적으로 작은 템플릿을 결합하는 가장 좋은 방법은 무엇 jQuery template libs를 사용하여 ...의 이 어떤 생각을 들어 보자, 어서? 개별 템플릿마다 단일 <script>
태그가 필요합니까? AJAX를 통해 이러한 템플릿을 동적으로 가져 오는 경우는 어떻습니까? 이러한 템플릿을 어떻게 든 결합 할 수 있습니까?
는 다음과 같은 고려 :
<script id="movieTemplate" type="text/x-jquery-tmpl">
{{tmpl "#titleTemplate"}}
<tr class="detail"><td>Director: ${Director}</td></tr>
</script>
<script id="titleTemplate" type="text/x-jquery-tmpl">
<tr class="title"><td>${Name}</td></tr>
</script>
이제
이 두 템플릿은 매우 밀접하게 관련되어 있기 때문에 (그리고 하나는 다른에 따라 다름)은 하나의 AJAX 호출에 이러한 통합을 이해하고 그들을 모두를 얻을 것 일단. 몇 가지 아이디어가 있지만 공통점/최선의 방법이 있는지 알고 싶습니다. 예를 들면 ... 현재 내가 HTML의 덩어리에 당겨 한 다음 템플릿 HTML의 특정의 peice를 얻기 위해)를 .find을 (수행
var templatePackage = fancyAjaxCalltoGetTemplates();
"templatePackage는"다음 다음과 같습니다
<div id="templatePkg">
<div id="movieTemplate">
{{tmpl "#titleTemplate"}}
<tr class="detail"><td>Director: ${Director}</td></tr>
</div>
<div id="titleTemplate">
<tr class="title"><td>${Name}</td></tr>
</div>
</div>
그때 할 수있는 :
var titleTemplate = jQuery.template('titleTemplate', $(templatePackage).find('#titleTemplate'));
및
var movieTemplate = jQuery.template('movieTemplate', $(templatePackage).find('#movieTemplate'));
... 당신의 생각을 알려주세요. 당신은 무엇을 할 것입니까?
나는 또한 구분 기호를 사용할 수 있으며 단일 응답에서 템플릿 그룹을 분할 할 수 있습니다. 하지만 jquery/templates로이 작업을 수행하는 좀 더 우아한 방법이 있어야합니다. 템플릿 설명서에서 누락 된 것이 있습니까? – user406905
I _think_ 여기에오고 있습니다 ... 렌더링 된 페이지에 모든 템플릿을로드해야하는 문제를 해결하기 위해 노력하고 있습니까? 그런 다음 필요한 것만 선택하십시오. –
그게 전부입니다. 필요에 따라 템플릿을 동적으로로드해야합니다. – user406905