Я пытаюсь реорганизовать мой JS. У меня есть различные функции Morris.js внутри <script>
в моем html-файле. Этот html обрабатывается флягой. Данные из функций передаются непосредственно с сервера через систему шаблонов Jinja2.Вставьте переменные Jinja2 в Javascript
Есть ли способ иметь эти функции в JS-файле и дать им значения jinja?
Я действительно не хочу иметь onClick и JS-скрипты в html, я хочу иметь все JS в отдельных файлах JS, если это возможно. Насколько я знаю, я не могу, так как эти переменные отображаются движком, но, на мой взгляд, скрипт, который импортирует JS-файл, также отображается движком jinja, поэтому я не уверен.
Я думаю, что передача данных через тег meta
может быть возможна, но мне действительно не нужны хаки, если я не могу или нет «правильного» способа сделать это, я не буду сделай это.
Пример функции:
foo = function(){
new Morris.Line({
element: 'network-chart',
data: [
{% for load in node_statistics %}
{ y: {{load['time']}}000, a: {{load['b_sum_up']}}, b: {{load['b_sum_down']}}, c: {{load['b_max_up']}}, d: {{load['b_max_down']}} },
{% endfor %}
],
xkey: 'y',
ykeys: ['a', 'b', 'c', 'd'],
labels: ['sum up bandwidth', 'sum down bandwidth', 'max up bandwidth', 'max down bandwidth']
});
}
Заранее спасибо.
Это означало бы передачу данных через onclick в html, правильно? – Mese
да @Mese это правильный путь. –
Если это единственный способ, я не буду этого делать. Я не хочу, чтобы JS в моем html – Mese