【问题标题】:Jade / JavaScript - Access data being passed to JadeJade / JavaScript - 访问传递给 Jade 的数据
【发布时间】:2013-04-12 22:56:58
【问题描述】:

我正在向 Jade 模板传递一些数据,这些数据是 JSON 格式的,因此例如在这里我输出 Jade 模板中所有团队的名称:

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

这可以很好地打印所有团队的名称。我将如何访问 JavaScript 文件中的这些数据?在这里,我可以简单地输入#{teams[0].name} 以获取团队名称为 0,但我将如何在 JavaScript 文件中执行此操作?

【问题讨论】:

  • “JavaScript 文件”是什么意思?您呼叫res.render('file', {tournamentData: json_data}); 的文件还是另一个文件?
  • file 在这种情况下是一个 Jade 模板文件,所以我的代码是 res.render('tournament', {tournamentData: json_data});,我如何也将它传递给 JavaScript 文件?在这种情况下,JS 文件是一个单独的文件,我正在尝试将其用于其他目的

标签: javascript pug


【解决方案1】:

如果我正确理解你,你可以这样做:

JS 文件:

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

    window.myTeam = teams[0];
}

jade中包含文件:

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

更新:

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

【讨论】:

  • $(function() { $('#tournamentBrackets').bracket({ init: bracketData }); }); 这是我的 JS 文件函数,我该如何将它传递给这个函数呢?
猜你喜欢
  • 2013-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-15
  • 1970-01-01
  • 1970-01-01
  • 2012-09-01
  • 2016-06-06
相关资源
最近更新 更多