guidon partielle contexte
J'ai un tableau contenant les informations sur les boutons sociaux (href,alt,img). J'ai créé une partielle qui permettrait de parcourir le tableau et ajouter les objets, voici ce que j'ai.
le tableau:
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"
}
];
Le modèle:
social_partial = '<a href="{{url}}" alt="{{alt}}"><img src="{{image}}"/></a>';
La fonction partielle:
Handlebars.registerPartial('addSocial',social_partial);
et le template principal:
<div class="tip_social">
{{>addSocial social}}
</div>
Je suis un 'Depth0 est pas défini erreur". J'ai essayé de chercher de la documentation sur parials l'obtention d'un contexte différent , mais je n'ai pas encore trouver.
modifier ici est plus complet violon de
OriginalL'auteur alexdmejias | 2012-08-07
Vous devez vous connecter pour publier un commentaire.
Même problème pour moi. Peu de creuser et d'une face-palm plus tard, voici ce que j'ai trouvé.
tl;dr réponse
Être très attention sur le contexte dans lequel vous transmettez à vos partielle. Si vous en quelque sorte passer un null ou vide de l'objet à vos partielle, vous aurez la
depth0 is undefined
erreurTrès légèrement plus longue réponse
JSFiddle Exemples:
La seule chose qui a changé dans la version de travail est que je suis de passage un contexte valide pour la partielle.
BTW très utile astuce consiste à utiliser le débogage aide ce blog
Answerbot dictateur "exemple de code"
Cassé le contexte ci-dessus entraînera le guidon de mourir. Pour votre problème, essayez de creuser avec un
{{debug}}
tag et voir si cela aide.Pour un meilleur exemple de code s'il vous plaît prendre un coup d'oeil à la jsFiddles. La rediffusion de tout le code ici, la mise en forme pour faire joli à la recherche et à la prise de la StackOverflow answerbot dictateur heureux était un peu trop pour le faire au travail ^_~
OriginalL'auteur Paul
Je ne suis pas sûr de ce que vous faites mal que vous n'avez pas fourni assez de code pour reproduire votre problème. Cependant, il n'est pas difficile à faire fonctionner. Tout d'abord, votre modèle doit être une itération sur
social
et de l'alimentation de chaque élément de votre partielle, à quelque chose comme ceci:Et ensuite, vous pouvez obtenir votre code HTML avec quelque chose comme ceci:
Démo: http://jsfiddle.net/ambiguous/SsdbU/1/
Votre template principal ne fait pas beaucoup de sens, sauf si vous êtes en boucle sur
social
en JavaScript. Lorsque vous compilez un Guidon modèle, vous obtenez une fonction de retour, alors vous exécutez cette fonction pour obtenir votre code HTML.Pas sûr de ce que tu veux dire dans la première phrase. Comment pourrais-je accéder à ces variables javascript dans le modèle? serait une fonction d'aide-être la réponse à la place?
Peut-être que si vous fournissez une fonctionnelle d'exemple, je peux vous aider.
mu est trop court:voici un violon
OriginalL'auteur mu is too short
Ici, c'est le seul moyen que j'ai trouvé:
Guidon doc indique que vous devez utiliser le Bloc des Aides pour passer les différents contextes. Voici donc deux fichiers: le template principal et le script dans le nœud contening deux contextes: le contexte principal et le contexte pour les données sociales. Le script d'avoir la source pour la partie du modèle. Le Bloc est #twitter_list et ses associés registerHelper utilise l'option.fn(other_context_object) qui semble le seul moyen de passer un autre contexte, dans le guidon.
Template principal:
Le javascript à l'aide de Node js:
OriginalL'auteur isacookie