2016-09-23 55 views
0

我想创建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]; 
}); 

,并以这种方式使用它的模板:

{{#if (eq param1 param2)}} <h1>hello</h1> {{/if}} 

eq没有定义。

什么是创建帮手的正确方法?

+0

您使用的余烬-CLI取? – wallop

+0

@wallop im not using ember-cli – megas

+0

你使用哪个版本的Ember? – locks

回答

0

的问题是与边界。此代码的工作对我来说:

import { registerHelper } from 'discourse/lib/helpers'; 

var makeBoundHelper = Ember.HTMLBars.makeBoundHelper; 

registerHelper('eq', makeBoundHelper(function(params) { 
    return params[0] === params[1]; 
})); 

溶液从here

5

看起来你正在使用烬-CLI,如果有好心也经历发电机在余烬-CLI指南

烬摹助手是平等

会导致应用程序/佣工/is-equal.js其最初将

import Ember from 'ember'; 

export function isEqual(params/*, hash*/) { 
    return params; 
} 

export default Ember.Helper.helper(isEqual); 

,但你可以把它改成

现在

,你可以在你的模板中使用它作为

{{#if (is-equal 'abc' 'ABC' true)}} 

{{/if}}