2016-09-23 4 views
0

Ich möchte Helfer erstellen. Es existiert bereits in ember-truth-helpers Addon, aber ich brauche nur Helfer, also entschied ich mich, es selbst in meinem Plugin zu erstellen.So erstellen Sie Vorlage Helper

Ich habe Datei assets/javascripts/discourse/helpers/eq.js.es6 in meinem Plugin mit solchen Inhalten erstellt:

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

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

und es in Vorlage auf diese Weise verwenden:

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

Aber eq ist nicht definiert.

Was ist der richtige Weg, Helfer zu erstellen?

+0

genommen Sie verwenden glut-cli? – wallop

+0

@wallop im nicht mit ember-cli – megas

+0

Welche Version von Ember verwenden Sie? – locks

Antwort

0

Das Problem mit dem Begrenzungs war. Dieser Code funktioniert für mich:

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

var makeBoundHelper = Ember.HTMLBars.makeBoundHelper; 

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

Die Lösung von here

5

Es sieht aus wie Sie glut-cli verwenden, wenn so freundlich durch Generatoren in glut-cli Führungs

ember g Helfer gehen Sie ist-gleich

in app/Helfer führen /is-equal.js die wird zunächst

import Ember from 'ember'; 

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

export default Ember.Helper.helper(isEqual); 

aber man kann es zu

ändern

Jetzt können Sie es in Ihren Vorlagen verwenden, wie

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

{{/if}} 
Verwandte Themen