# ユーティリティ関数

# ヘルパーユーティリティ

これらのメソッドは、カスタムヘルパーを実装する際に役立ちます。

# 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;
}

データの状態を変更するヘルパーは、そうする際に新しいフレームを作成して、自身を分離し、親の状態を破損しないようにする必要があります。一般に、ヘルパーの実行ごとに作成する必要があるフレームは1つだけです。たとえば、each反復子は、すべての子実行で再利用される単一のフレームを作成します。

# 汎用ユーティリティ

Handlebarsは、Handlebars.Utilsオブジェクトを介して公開されるさまざまなユーティリティメソッドを提供します。

# Handlebars.Utils.isEmpty(value)

指定された値が空かどうかを判断します。

Handlebars.Utils.isEmpty(value)

これは、組み込みのifおよびwithヘルパーによって、実行フローを制御するために使用されます。Handlebarsの空の定義は、次のいずれかです。

  • 長さ0の配列
  • 0以外の偽の値

これは、Mustacheの動作 (新しいウィンドウが開きます)と一致することを目的としています。

# Handlebars.Utils.extend(obj, value)

valueで定義されているすべてのキーでobjを補強するための簡単なユーティリティメソッドです。

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ヘルパーで使用されるロガーです。

必要に応じてオーバーライドできます。

最終更新日: 2021年3月17日 午後9時38分49秒