2016-09-23 60 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}}