유틸리티 함수
헬퍼 유틸리티
이 메서드는 사용자 정의 헬퍼를 구현할 때 유용합니다.
Handlebars.SafeString(string)
템플릿이 렌더링될 때 string이 이스케이프되지 않도록 합니다.
new Handlebars.SafeString("<div>HTML Content!</div>");
안전한 문자열로 표시될 문자열을 구성할 때, 외부 콘텐츠는 Handlebars.escapeExpression
메서드를 사용하여 적절히이스케이 프되어야 보안 문제를 방지할 수 있습니다.
Handlebars.escapeExpression(string)
전달된 문자열을 HTML 이스케이프하여 HTML 콘텐츠 내에서 텍스트로 렌더링할 때 안전하게 만듭니다.
Handlebars.Utils.escapeExpression(string);
문자열 값에 대해 &
, <
, >
, "
, '
, `
, =
를 HTML 엔티티 값으로 대체합니다. SafeString
값은 변경되지 않습 니다.
{{{
표현을 제외한 모든 표현의 출력은 이 메서드를 통해 전달됩니다. 헬퍼가 SafeString
인스턴스를 통해 HTML 콘텐츠를반 환할 때도 가능한 코드 삽입을 방지하기 위해 이 메서드를 사용해야 합니다.
이 메서드는 Handlebars.Utils.escapeExpression
에 별칭으로 정의되어 있습니다.
Handlebars.createFrame(data)
블록 헬퍼가 자식 데이터 객체를 생성할 때 사용됩니다.
if (options.data) {
var data = Handlebars.createFrame(options.data);
data.foo = "bar";
options.data = data;
}
데이터 상태를 수정하는 헬퍼는 새 프레임을 생성하여 자신을 격리하고 부모의 상태를 손상시키지 않아야 합니다. 일반적으로, 헬퍼 실행당 하나의 프레임만 생성하면 됩니다. 예를 들어, each
반복자는 모든 자식 실행에 대해 재사용되는 단일 프레임을생 성합니다.
일반 유틸리티
Handlebars는 Handlebars.Utils
객체를 통해 다양한 유틸리티 메서드를 제공합니다.
Handlebars.Utils.isEmpty(value)
주어진 값이 비어 있는지 여부를 판단합니다.
Handlebars.Utils.isEmpty(value)
이 메서드는 내장된 if
및 with
헬퍼가 실행 흐름을 제어하는 데 사용됩니다. Handlebars의 빈 값 정의는 다음과 같습니다:
- 길이가 0인 배열
- 0을 제외한 거짓 값
이는 Mustache behavior을 따르기 위한 것입니다.
Handlebars.Utils.extend(obj, value)
obj
를 value
에 정의된 모든 키로 확장하는 간단한 유틸리티 메서드입니다.
Handlebars.Utils.extend(foo, {bar: true})
이는 객체 foo
에 키 bar
를 값 true
로 설정합니다.
Handlebars.Utils.toString(obj)
일반적인 toString
메서드입니다.
Handlebars.Utils.isArray(obj)
객체가 배열인지 여부를 판단합니다.
Handlebars.Utils.isFunction(obj)
객체가 함수인지 여부를 판단합니다.
Handlebars.log(level, message)
log
헬퍼에서 사용하는 로거입니다.
원하는 경우 재정의할 수 있습니다.