Итак, на моем шаблоне Jade я передаю ему переменную через маршрут, содержащий массив имен.Node.js/JavaScript - функция изменения переменных окна JavaScript
Вот 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, и он все еще сломался. Действительно смущен.
EDIT: HTML генерируется
я хотя нефрит требует - перед каждой строкой коды яваскрипта –
@Four_lo Неа, код ниже тег 'script', который в порядке Jade, работает для всего моего другого кода. – germainelol
@Four_lo Это как-то связано с window.teams. Я уверен, но я не понимаю, что .... – germainelol