在Django中,我有一个看起来像这样的模板文件:
<script>
let config = '{{ my_config_variable }}';
</script>
<script src="{% static 'script.js' %}"></script>
// do something with the config variable:
console.log(config);
这将在JavaScript中起作用,因为JavaScript无关紧要。但是,如果我尝试在TypeScript中进行编译,我当然会出错。
那么,将某些变量从Django传递给TypeScript的正确方法是什么(如果可能的话,并保持某种类型的安全性)?
我已经对此进行了更改,并且它可以工作,但是我不确定这是否能达到目的。
<script>
let config = '{{ my_config_variable }}';
main(config);
</script>
<script src="{% static 'script.js' %}"></script>
function main(config) {
// do something with the config variable:
console.log(config);
}
答案 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
脚本元素之后。