meg*_*gas 0 helper handlebars.js ember.js discourse
我想创造eq帮手.它已经存在于ember-truth-helpers插件中,但我只需要eq帮助,所以我决定自己在我的插件中创建它.
我assets/javascripts/discourse/helpers/eq.js.es6在我的插件中创建了包含以下内容的文件:
import { registerHelper } from 'discourse/lib/helpers';
registerHelper('eq', function(params) {
return params[0] === params[1];
});
Run Code Online (Sandbox Code Playgroud)
并以这种方式在模板中使用它:
{{#if (eq param1 param2)}} <h1>hello</h1> {{/if}}
Run Code Online (Sandbox Code Playgroud)
但是eq没有定义.
创建助手的正确方法是什么?
看起来你正在使用ember-cli,如果这样,请通过ember-cli指南中的生成器
余哥帮助是相等的
将导致最初将成为app/helpers/is-equal.js
import Ember from 'ember';
export function isEqual(params/*, hash*/) {
return params;
}
export default Ember.Helper.helper(isEqual);
Run Code Online (Sandbox Code Playgroud)
但你可以改成它
export function isEqual([leftSide, rightSide, isCaseInsensitive]) {
let ret;
if (isCaseInsensitive) {
ret = (leftSide.toLowerCase() === rightSide.toLowerCase());
} else {
ret = (leftSide === rightSide);
}
return ret;
}
export default Ember.Helper.helper(isEqual);
Run Code Online (Sandbox Code Playgroud)
现在您可以在模板中使用它了
{{#if (is-equal 'abc' 'ABC' true)}}
{{/if}}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
410 次 |
| 最近记录: |