Как передать переменную из Django в TypScript? - PullRequest
0 голосов
/ 18 июня 2019

В 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 (и, если возможно, сохранить некоторую безопасность типов)?

Edit:

Я изменил вещи к этому, и это работает, но я не уверен, что это способ получить.

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 Ответ

1 голос
/ 18 июня 2019

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элемент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...