【问题标题】:Variables in javascript + jinja2javascript + jinja2中的变量
【发布时间】:2022-08-07 22:36:36
【问题描述】:

我不擅长 javascript。我有带有数据的谷歌图表。我需要通过javascript中的循环将数据添加到图表中:

for (let i = 0; i < 3; i++) {
    data.addRow(
        [\'{{list[i][0]}}\',
        { v: {{list[i][1][0]}}, f: \'{{list[i][1][1]}}\' }]
        );
}

但它给我写了一个错误:

UndefinedError

jinja2.exceptions.UndefinedError:列表对象没有未定义的元素

你能给我建议吗,我能用它做什么?

    标签: javascript flask jinja2


    【解决方案1】:

    我对 Google Charts API 不太熟悉,但从外观上看,您遇到了语法错误,因为您实际上是在将字符串 '{{list[i][0]}}' 传递给 data.addrow() 方法。

    试试这个,让我知道它是否有效:

    for (let i = 0; i < 3; i++) {
      data.addRow([
        list[i][0],
        {
          v: list[i][1][0],
          f: list[i][1][1]
        }
      ]);
    }
    

    【讨论】:

    • 嗨,廷帕,谢谢你的回答。它现在对我有用,因为我的 var 列表是从 flask-app 呈现到 html 中的,所以它无法定义列表。但我找到了答案,我会写在下面。
    【解决方案2】:

    我找到了答案。试试这样:

    {% for i in range(list|length) %}
        data.addRow(
            ['{{list[i][0]}}',
            { v: {{list[i][1][0]}}, f: '{{list[i][1][1]}}' }]
            );
    {% endfor %}
    

    这不是javascript,我知道。但是帮我解决了问题。

    【讨论】:

      猜你喜欢
      • 2017-04-13
      • 2019-07-08
      • 1970-01-01
      • 2016-01-03
      • 2020-10-20
      • 2015-10-21
      • 2022-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多