2013-04-11 5 views
0

Je passe un modèle Jade quelques données, qui est sous forme JSON, donc par exemple ici me sortir les noms de toutes les équipes dans le modèle Jade:Jade/JavaScript - Données d'accès sont transmises à Jade

p Teams: 
    br 
    -for(var i = 0; i < tournamentData.teams.length; i++) { 
    text Team #{i+1}: #{teams[i].name} 
    br 
    -} 

Ceci imprime tous les noms des équipes bien. Comment accéder à ces données dans un fichier JavaScript? Ici, je peux simplement taper #{teams[0].name} pour obtenir le nom de l'équipe à 0, mais comment le ferais-je dans le fichier JavaScript?

+0

Que voulez-vous dire par "le fichier JavaScript"? Le fichier où vous appelez 'res.render ('file', {tournamentData: json_data});' ou un autre? – Aust

+0

'fichier' dans ce cas est un fichier modèle Jade, donc mon code est' res.render ('tournoi', {tournoiData: json_data}); ', comment est-ce que je passerais aussi ceci au fichier JavaScript? le fichier JS dans ce cas est un fichier séparé, je suis en train de travailler avec pour d'autres fins – germainelol

Répondre

2

Si je bien bien compris, vous pouvez le faire comme ceci:

fichier JS:

function myFn(teams){ 
    // user teams here 
    // for example: 

    window.myTeam = teams[0]; 
} 

fichier, y compris en jade:

script(type="text/javascript", onload="myFn(#{JSON.stringify(tournamentData.teams)});", src="urlHere") 

Mise à jour:

function myFn(bracketData){ 
    $(function() { $('#tournamentBrackets').bracket({ init: bracketData }); }); 
} 
+0

'$ (function() { \t $ ('# tournamentBrackets') support ({ \t \t init. bracketData \t} }); 'C'est ma fonction de fichier JS, alors comment la passer à cette fonction? – germainelol

+0

@germainelol voir la mise à jour – karaxuna

Questions connexes