# 实用函数

# 辅助工具

当您实现自定义辅助函数时,这些方法会派上用场。

# 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)

内置的 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