Ich erstelle einen Helfer, um 7 oder 8 Zeilen HTML auszugeben, um meine Vorlagen zu bereinigen (und DRY einzuhalten - hey, das reimte - wikka wikka).Lenker Helper in requireJS
Hier ist ein Beispiel für den Aufruf des Add-on-Helfers
{{#each promotion.CampaignColors}}
{{{addOn . CampaignColorType.Code CampaignColorType.Name HexColor "some content" "a title"}}}
{{/each}}
nun von dem, was ich verstehe, alles nach dem Zusammenhang sollte ein Hash genannt Optionen. Hier ist ein Stub meiner addOn.js
define([
'handlebars',
'hbs!templates/addOn',
], function (Handlebars, AddOnTemplate) {
function addOn(context, options) {
var data = {};
var compiledTemplate = AddOnTemplate(data);
console.log(compiledTemplate);
return compiledTemplate;
}
Handlebars.registerHelper('addOn', addOn);
return new Handlebars.SafeString(addOn);
});
ist jedoch Optionen nur auf mein erster Parameter übergeben werden. Wenn ich meine Methode Signatur ändern:
function addOn(context, key, displayName, value, content, title, test, options) {
...
}
.. jeder meiner Werte gesetzt werden und Optionen wird nun ein Objekt mit einem leeren Hash.
Das Deklarieren der Parameter funktioniert explizit, aber ich würde lieber den Hash verwenden. Irgendwelche Gedanken darüber, wie man das macht?
Ich habe auch gelesen, das Dokument zur Verfügung und ich habe es gerade verpasst. Danke Kumpel. –