EmberJS - 编写助手

您可以向模板添加额外的功能,并将模型和组件的原始值转换为适合用户的格式。如果您多次使用 HTML 应用程序,则可以从任何 Handlebars 模板添加自定义助手。如果当前上下文发生变化,则 Ember.js 将自动执行助手并使用更新的值更新 DOM。

语法

export function Helper_Name([values]) {
   //代码在这里
}

export default Ember.Helper.helper(Helper_Name);

下表列出了使用辅助名称的不同方式 −

S.No. 辅助名称 &描述
1 辅助程序参数

您可以通过在辅助程序名称后指定来将多个参数传递给辅助程序。

2 命名参数

您可以将命名参数与相关值一起传递。

3 转义 HTML 内容

用于在显示结果时转义 HTML 标签。

示例

下面给出的示例实现了助手,它接受多个输入并返回单个输出。使用以下命令创建一个新的助手 −

ember generate helper helper-name

在此示例中,我们创建了名为 writinghelper 的助手。现在打开在 app/helpers/ 下创建的 writinghelper.js 文件。

import Ember from 'ember';

export function formatHelper([value]) {
   let var1 = Math.floor(value * 100);
   let cents = value % 100;
   let var3 = '$';
   if (cents.toString().length === 1)
   return `${var3}${var1}`;
}

export default Ember.Helper.helper(formatHelper);

您可以在模板中使用花括号内的"writinghelper"帮助程序。打开 index.hbs 文件并写入以下代码 −

Value is : {{writinghelper 5}}
{{outlet}}

在上面的代码中,我们已将模板中的帮助程序值传递到格式化字符串中,该模板将美分计数显示为格式化字符串。

输出

运行 ember 服务器;您将收到以下输出 −

Ember.js Template Writing Helper

emberjs_template.html