そのため、私の 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
});
});
なんらかの理由で、この JavaScript コードを追加すると、システムの残りの部分の機能が完全に壊れてしまいます。コメントアウトすると、システムの残りの部分は正常に動作します。そのままにしておくと、ボタンは何も機能せず、リンクはどこにも移動せず、データは追加されません (ただし、データはロードされます。つまり、チームのデータベースがリストされます)。ページをロードしてから JS のコメントを外すと、ページは正常に機能します。
このコードで私のシステムを壊しているものは何ですか? window.teams の名前を window.testName に変更しようとしましたが、それでも壊れました。本当に混乱しています。
編集:生成されたHTML