LENKER partielle Kontext
Ich habe ein array, das die Informationen enthält, die für die social buttons (href,alt -,. img). Ich erstellte eine partielle, würde das array Durchlaufen, und fügen Sie die Objekte, hier ist was ich habe.
array:
var social=[
{
"url":"http://twitter.com/share?text="+encodeURIComponent(this.title)+" "+encodeURIComponent('#grnsrve')+"&url="+domain+"&via="+twitterAcct,
"image":"IMG/media/twitter_16.png",
"alt":"twitter link"
},
{
"url":"http://twitter.com/share?text="+encodeURIComponent(this.title)+" "+encodeURIComponent('#grnsrve')+"&url="+domain+"&via="+twitterAcct,
"image":"IMG/media/twitter_16.png",
"alt":"twitter link"
},
{
"url":"http://twitter.com/share?text="+encodeURIComponent(this.title)+" "+encodeURIComponent('#grnsrve')+"&url="+domain+"&via="+twitterAcct,
"image":"IMG/media/twitter_16.png",
"alt":"twitter link"
}
];
Vorlage:
social_partial = '<a href="{{url}}" alt="{{alt}}"><img src="{{image}}"/></a>';
Die partielle Funktion:
Handlebars.registerPartial('addSocial',social_partial);
und der main Vorlage:
<div class="tip_social">
{{>addSocial social}}
</div>
Ich bin immer ein 'Depth0 undefined error'. Ich habe versucht, für die Dokumentation auf parials immer einen anderen Kontext , aber ich habe noch, es zu finden.
Bearbeiten hier ist eine komplette Geige von ihm
InformationsquelleAutor alexdmejias | 2012-08-07
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gleiche Problem für mich. Bisschen Graben und ein face-palm später hier ist, was ich gefunden habe.
tl;dr-Antwort
Werden sehr vorsichtig über den Kontext, die Sie passieren, um Ihre teilweise. Wenn Sie irgendwie übergeben Sie einen null-oder leere-Objekt zur teilweisen erhalten Sie die
depth0 is undefined
FehlerSehr etwas längere Antwort
JSFiddle Beispiele:
Das einzige, was geändert in der Arbeits-version ist, die ich bin übergeben einen gültigen Kontext zu den teilweisen.
BTW ein sehr hilfreicher trick ist die Verwendung des debug-helper von dieser blog
Answerbot Diktator "code-Beispiel"
Den gebrochenen Rahmen oben verursachen LENKER zu sterben. Für dein problem versuchen zu Graben in, dass mit einer
{{debug}}
tag und sehen, ob das hilft.Für eine bessere code-Beispiel bitte werfen Sie einen Blick auf die jsFiddles. Umbuchung alle den code hier rein, formatieren Sie es, um es Recht betrachten und StackOverflow answerbot Diktator glücklich war ein bisschen viel zu tun bei der Arbeit ^_~
InformationsquelleAutor Paul
Ich bin mir nicht sicher, was du falsch machst, da man noch nicht genug code zu duplizieren problem. Jedoch, es ist nicht schwer, es zu schaffen. Zuerst von allen, ist Ihre Haupt-Vorlage iteriert
social
und Fütterung jedes element, um Ihre teilweise, so etwas wie dieses:Und dann können Sie Ihr HTML so etwas wie das hier:
Demo: http://jsfiddle.net/ambiguous/SsdbU/1/
Ihre Haupt-template macht nicht viel Sinn, es sei denn, Sie Schleifen über
social
in JavaScript. Beim kompilieren einer LENKER-Vorlage, erhalten Sie eine Funktion zurück, dann führen Sie diese Funktion, um Ihre HTML.Nicht sicher, was du meinst im ersten Satz. Wie würde ich auf die javascript Variablen innerhalb der Vorlage? würde eine Hilfsfunktion, die die Antwort statt?
Vielleicht, wenn Sie eine Funktions-Beispiel, das ich Ihnen helfen kann.
mu ist zu kurz:hier ist ein Geige
InformationsquelleAutor mu is too short
Hier ist die einzige Möglichkeit die ich gefunden habe:
LENKER doc zeigt an, dass Sie verwenden müssen, Block Helfer übergeben unterschiedlichen Kontexten. So, hier sind zwei Dateien: die Haupt Vorlage und den Skript-Knoten contening zwei Kontexten: der wichtigste Kontext und den Kontext für die sozialen Daten. Das Skript mit der Quelle für die teilweise Vorlage. Der Block ist #twitter_list und seine damit verbundenen registerHelper verwendet die option.fn(other_context_object) das scheint der einzige Weg, um pass einem anderen Kontext im LENKER.
Main template:
Das javascript mit Node js:
InformationsquelleAutor isacookie