비행 중에 추가 템플릿을로드하고 싶습니다. 가능한가?Ajax를 통해 Handlebars 템플릿을로드 할 수 있습니까?
답변
Ember.TEMPLATES
에 새 템플릿을 등록 할 수 있습니다. 그런 다음 조회 할 수 있습니다.
내 코드에서 발췌 (jQuery를 아약스 핸들러) : 그것 뿐이다
success: function(data) {
$(data).filter('script[type="text/x-handlebars"]').each(function() {
templateName = $(this).attr('data-template-name');
Ember.TEMPLATES[templateName] = Ember.Handlebars.compile($(this).html());
});
}
.
신용 아래의 조각과 함께 플레이가하려고 생각했다
: 나는로드 텍스트 플러그인과 함께 requirejs을 사용하고 https://gist.github.com/2165681
<script>
/*
* Loads a handlebars.js template at a given URL. Takes an optional name, in which case,
* the template is added and is reference-able via templateName.
*/
function loadTemplate(url, name, callback) {
var contents = $.get(url, function(templateText) {
var compiledTemplate = Ember.Handlebars.compile(templateText);
if (name) {
Ember.TEMPLATES[name] = compiledTemplate
} else {
Ember.View.create({ template: compiledTemplate }).append();
}
if (callback) {
callback();
}
});
}
</script>
흥미 롭습니다. 하나의 템플릿을로드하는 것이 더 원시적입니다. 내 이전 솔루션은 * (내 필요에 더 충당) *로드하는 템플릿의 수를 허용합니다. –
알겠습니다. 나는 실제로 HTML 파일에서 약간의 잡음을 얻고 너무 많은 요청을 생성하지 않기 위해 더 많은 다중 템플릿 'include'파일에 대한 아이디어를 상당히 좋아한다. 좋은 전화 – joevallender
GitHub의에 borismus을 동적으로 핸들 바 템플릿. 우리가 볼 수 있도록
r.js는 requirejs 또는 아약스
마이크를 사용하여 쉽게 장착 할 수있는 텍스트 파일에 handlerbar 템플릿을 컴파일 최적화 ... 더 큰 패키지로까지 그 코드를 포장 줄래 라이프 사이클? 어떻게 외부 템플릿을 저장하고 있습니까? 파일 형식은 무엇입니까? get 또는 getJSON으로로드 중입니까? – commadelimited
HTML 엔티티가 포함 된'get' 호출 결과에서 일반 표준 페이지 응답으로 도착할 때 템플릿 내용을 검색합니다. –
이것은 [내] 세계 절약 솔루션 :) Thx! –