如何将变量从Django传递到TypScript?

时间:2019-06-18 15:12:41

标签: django typescript

在Django中,我有一个看起来像这样的模板文件:

my_template.html:

<script>
let config = '{{ my_config_variable }}';
</script>
<script src="{% static 'script.js' %}"></script>

script.ts:

// do something with the config variable:
console.log(config);

这将在JavaScript中起作用,因为JavaScript无关紧要。但是,如果我尝试在TypeScript中进行编译,我当然会出错。

那么,将某些变量从Django传递给TypeScript的正确方法是什么(如果可能的话,并保持某种类型的安全性)?

编辑:

我已经对此进行了更改,并且它可以工作,但是我不确定这是否能达到目的。

my_template.html:

<script>
let config = '{{ my_config_variable }}';
main(config);
</script>
<script src="{% static 'script.js' %}"></script>

script.ts:

function main(config) {
    // do something with the config variable:
    console.log(config);
}

1 个答案:

答案 0 :(得分:1)

script.ts

console.log((window as any).config)

interface IWindow {
  config: any
}
declare let window: IWindow
console.log(window.config)

您编辑的带有main('{{ my_config_variable }}')的示例很好,但是应该在script.js脚本元素之后。