das ist das Modell, das ich zu meinem Lenker Vorlage passierenIterieren über Objekte in Express-Lenker
module.exports = function(showHeader, userId){ // the data model
return {
userId: userId,
seminars: userSeminars;
};
};
var userSeminars = [{ // some information
seminarId: 1,
isRated: true
}, {
seminarId: 2,
isRated: false
}];
und als meine Vorlage Rendering verwende ich HTML-Code
{{#each seminars}}
<div class="seminarContainer">
{{#if isRated}}
<button onclick="loadStatistics({{seminarId}}, {{userId}})">Do Something 1</button>
{{else}}
<button onclick="loadQuestionnaire({{seminarId}})">Do Something 2</button>
{{/if}}
</div>
{{/each}}
aber wenn das Debuggen, {{userId}}
ist nicht definiert. Ich ging für diese Testroutine und schreiben Sie es oben die jede Schleife
$(document).ready(function() {
alert({{userId}}); // this works
});
userId
nicht undefiniert ist. Beim Iterieren über das Array ist es jedoch undefiniert. Wie kann ich den Array-Bereich innerhalb der Schleife verlassen? Ich müsste auf das Datenmodellobjekt zugreifen, nicht auf ein Attribut im Array.
EDIT
Access a variable outside the scope of a Handlebars.js each loop
Wenn ich den Umfang verlassen will, kann ich {{../userId}}
Innerhalb der Schleife verwenden
<p>{{../userId}}</p>
funktioniert gut, aber wenn dies für Parameter wie
onclick="loadStatistics({{seminarId}}, {{../userId}})"
der zweite Parameter ist nicht definiert werden. Ich
hm ja, das ist ein guter Anfang, aber wenn in Parameter übergeben 'Onclick = "loadStatistics ({{seminarId}}, {{../ userId}})"' es ist noch nicht definiert. Beim Schreiben '
{{../userId}}
' funktioniert es – Question3rIch habe meine Antwort bearbeitet, bitte versuchen Sie es und lassen Sie mich wissen, wie es ging. – fingeron