Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js/JavaScript-JavaScript窗口变量中断功能_Javascript_Node.js_Pug - Fatal编程技术网

Node.js/JavaScript-JavaScript窗口变量中断功能

Node.js/JavaScript-JavaScript窗口变量中断功能,javascript,node.js,pug,Javascript,Node.js,Pug,因此,在我的Jade模板上,我通过包含名称数组的路由传递一个变量 以下是该模板中的JavaScript: script(type='text/javascript') window.teams = !{JSON.stringify(teams)}; teams包含我提到的数组。下面是JavaScript: $(function () { // Array of team names var teamNames = []; for(var i = 0; i < teams.

因此,在我的Jade模板上,我通过包含名称数组的路由传递一个变量

以下是该模板中的JavaScript:

script(type='text/javascript')
  window.teams = !{JSON.stringify(teams)};
teams
包含我提到的数组。下面是JavaScript:

$(function () {
  // Array of team names
  var teamNames = [];
  for(var i = 0; i < teams.length; i++) {
    teamNames.push(teams[i].name);
  }

  var bracketTeams = [];

  var teamMatches = new Array();
  for(var i=0;i<teamNames.length; i+=2)
  {       
    teamMatches.push([teamNames[i],teamNames[i+1]]);
  }

  var bracketData = {
    teams : teamMatches,
    results : [[
        [ [1, 0], [1, 0] ],
        [ [1, 0], [1, 0] ]
      ]]
  }
    $('#tournamentBrackets').bracket({
        init: bracketData
    });
});
$(函数(){
//团队名称数组
var teamNames=[];
对于(var i=0;i对于(var i=0;i在Node.js中,
窗口
对象可能不存在。Node.js的全局对象与浏览器的不同。在Node.js中,全局对象实际上命名为
全局
。除非您专门设置了名为
窗口
的对象,否则在尝试赋值时可能会出现引用错误到
窗口。团队

我认为在每行javascript之前都需要-code@Four_lo不,代码在
脚本
标签下面,这在Jade中是正常的,适用于我的所有其他代码code@Four_lo这与窗口有关。我确定,但我不明白是什么…@germainelol:你在什么地方出错了检查你的JS控制台。@Blender怎么做?我只让我的终端打开运行Node.JS,你是说它应该是
global.teams
而不是
window.teams
?刚刚看到你更新的帖子,我尝试了
global.teams
,但是从我的JS生成的括号在做这件事时并没有出现,所以它没有使用globalAnd接收我的JS文件中的值,很抱歉再次发布,但是如果我加载我正在使用的JS文件的注释,加载页面,取消对JS文件的注释,页面确实成功加载并运行,但是当导航到其他页面时不再工作。因此,
window.teams
值正在加载,但正在中断systemSee BOM和DOM是您不希望在非客户端web JS中看到的其他内容。我还怀疑global仅能在任何给定文件的上下文中工作。@ErikReppen不确定这意味着什么,ryanbrill是正确的,但在JS控制台中,
窗口中。没有定义团队
,但我不知道如何修复它。