2012-01-18 2 views
5

제가 아는 한, 템플릿은 로직의 프리젠 테이션을 분리하는 데 사용되며 어떤 로직에도 적용되지 않기 때문에 재사용 할 수 있습니다 ... 많은 사람들이 템플릿 작성을 위해 Handlebars.js를 사용하도록 제안했습니다. (이 이름을들은 것은 이번이 처음입니다.)로직이없는 템플릿은 무엇입니까

알고 싶습니다 Logic-less 템플릿이란 무엇을 의미합니까?

감사

참고 : 나뿐만 아니라이 What's the advantage of Logic-less template (such as mustache)? 질문 겪었 ..하지만 난 분명히 생각을 didnt한다.

답변

1

템플릿 라이브러리의 기본 작업은 계산 된 데이터를 "Hello, $ {name}"의 이름을 채우는 것처럼 다소 정적 템플릿에 채우는 메커니즘을 제공하는 것입니다. 그러나 많은 템플릿 라이브러리는 if-then 문, 루프, 임의 코드 실행 등과 같은 추가 기능을 제공합니다. 이것은 로직리스 템플리트가 피하려고하는 로직입니다.

이것은 논리가없는 템플릿 라이브러리가 데이터를 템플릿에 채우는 기본적인 기능만을 제공한다는 것을 의미합니다.

논리가없는 템플릿을 사용하는 이유는 참조한 질문에 나와 있으므로 여기에 나열하지 않겠습니다.

+0

그러나 핸들 바 js도 if 문이 있습니까? 그럼 어떻게 논리가 줄어들 었나요? – Jeevi

+1

http://handlebarsjs.com/은 로직이없는 곳은 어디입니까? –

+0

그래, 논리 적은 템플릿이 아니야? 그렇다면 그들은 어떻게 콧수염과 잘 어울리는가? – Jeevi

0

"Handlebars는 로직이없는 템플릿 엔진으로, HTML 페이지에 템플릿이 거의 없거나 전혀없는 것을 의미합니다 .Hellebars 및 템플릿 엔진의 가장 중요한 용도는 HTML 페이지를 유지하는 것입니다 간단하고 깨끗하며 논리 기반 JavaScript 파일과 분리되어 있으며 Handlebars는 이러한 목적을 잘 수행합니다. " from javascriptissexy.com 위의 인용문이 원래 질문에 대한 답변이라고 생각합니다!

3

템플릿 내에서 JavaScript를 실행할 수 없으므로 핸들 막대가 논리 적입니다. {{# if num==1}}을 쓸 수 없습니다. 대신 JS에서 부울을 준비해야합니다 (var numIsOne = num==1;). 서식 파일에 {{# if numIsOne }}이 있어야합니다. 이것이 바로 로직이없는 것을 의미합니다.