# 實用程式函數

# 輔助程式實用工具

實作自訂輔助程式時,這些方法會很方便。

# Handlebars.SafeString(字串)

在渲染範本時,防止 字串 遭到跳脫。

new Handlebars.SafeString("<div>HTML Content!</div>");

在建構將標記為安全的字串時,任何外部內容都應使用 Handlebars.escapeExpression 方法適當跳脫,以避免潛在的安全問題。

# Handlebars.escapeExpression(字串)

HTML 跳脫傳入的字串,使其安全地在 HTML 內容中作為文字渲染。

Handlebars.Utils.escapeExpression(string);

對於字串值,將 &<>"'`= 取代為 HTML 實體等效值。SafeString 值保持不變。

除了使用三重花括號括起來的表達式之外,所有表達式的輸出都會透過此方法傳遞。輔助程式在透過 SafeString 實例傳回 HTML 內容時,也應使用此方法,以防止可能的程式碼注入。

此方法的別名為 Handlebars.Utils.escapeExpression

# Handlebars.createFrame(資料)

區塊輔助程式用來建立子資料物件。

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(值)

內建的 ifwith 輔助函式使用此方法來控制其執行流程。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