Node.js/JavaScript-JavaScript窗口变量中断功能
因此,在我的Jade模板上,我通过包含名称数组的路由传递一个变量 以下是该模板中的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.
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控制台中,窗口中。没有定义团队
,但我不知道如何修复它。