【问题标题】:Python List to Javascript Observable ArrayPython 列表到 Javascript 可观察数组
【发布时间】:2020-04-20 11:42:49
【问题描述】:

所以我正在通过 Python Flask 实现一个 API。我的代码结构如下:

src/
|--> main.py
|--> api/
|     |--> users.py
|--> static/
      |--> index.html

users.py 内部,我有一个名为user_list 的列表。问题是我想对该列表执行一些操作,为此我想将其设为 Observable Array 并在index.html 中处理它。粗略地说,我不知道如何将该列表从users.py 发送到index.html 通过main.py(处理整个API)。

我真的不知道如何做到这一点,因为我根本不了解 JavaScript 的 Observable Arrays。

【问题讨论】:

  • JavaScript 没有可观察的数组。 Knockout.js does.
  • 好的,这很好地总结了我的知识:)
  • 您必须将列表放入 html - 您可以为此使用 render_template()

标签: javascript python list flask knockout.js


【解决方案1】:

要预先填充可观察数组,请将数组传递给ko.observableArray 函数。要通过模板将数组从 Flask 代码传递到 JavaScript,请使用 Flask 的 tojson 过滤器。因此,在模板中:

<script>
  const userList = ko.observableArray({{ user_list | tojson }});
</script>

由于显而易见的原因(您希望将一些动态内容注入其中),在静态文件中执行此操作是不可能的。 与静态 index.html 一起工作的替代方法是通过 AJAX 填充您的可观察数组,但由于您没有提供任何代码,因此很难告诉您确切的操作方法。

【讨论】:

  • 我有一个使用AJAX的模板,所以我想我应该使用它,但我真的不明白如何让index.html知道我指的是users.py-&gt;user_list
猜你喜欢
  • 2019-05-21
  • 1970-01-01
  • 2014-07-06
  • 1970-01-01
  • 2018-07-09
  • 2019-09-09
  • 1970-01-01
  • 1970-01-01
  • 2017-07-26
相关资源
最近更新 更多