Отправка данных Jinja2 в другой файл js - фляжка - PullRequest
0 голосов
/ 01 июня 2018

У меня есть файл js, который отображает график со всеми необходимыми параметрами.Я хотел бы сделать что-то вроде этого в html:

<script  src="js/index2.js" value = {{GraphData}}></script>

файл js выглядит примерно так

var chart = AmCharts.makeChart("chartdiv", {
  "graphs": [{
  "id": "g3",
  "valueAxis": "v1",
   ...
   }],
  "Data" = {{GraphData}} 
})

Есть ли способ передачи данных графика в файл js?

1 Ответ

0 голосов
/ 01 июня 2018

Здесь есть фундаментальное недопонимание относительно функции тега script.«значение» не является допустимым атрибутом тега HTML-сценария, который используется для импорта текстового содержимого файла JavaScript в ваш файл HTML.

Для достижения того, что вы хотите, вы можете просто удалить:

<script src="js/index2.js" value = {{GraphData}}></script>

и заменить его на то, что вы хотите импортировать:

var chart = AmCharts.makeChart("chartdiv", {
  "graphs": [{
  "id": "g3",
  "valueAxis": "v1",
  ...
  }],
  "Data" = {{GraphData}}  
})

Дополнительная информация о HTML-скриптетег здесь и здесь .

Если вы хотите сохранить этот скрипт внешним, вы можете использовать его для определения функции, которая принимает {{GraphData}} какаргумент, подобный этому:

function graphData(gd) {
  var chart = AmCharts.makeChart("chartdiv", {
    "graphs": [{
    "id": "g3",
    "valueAxis": "v1",
    ...
    }],
    "Data" = gd  
  });
}

и затем вызовите эту функцию в вашем HTML-файле следующим образом:

<script src="js/index2.js"></script>
<script>
  graphData({{GraphData}})
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...