Функция предварительной загрузки без контекста = тег сценария модуля - PullRequest
0 голосов
/ 30 октября 2019

Так как мне не нравились два тега скрипта в одном JS. Я сдвинул preload() функцию в <script> без context=module. Работает нормально. Я хочу знать, что с этим связано.

1 Ответ

1 голос
/ 31 октября 2019

Сценарий context=module позволяет вам определить «экземпляр» своего рода для компонента. Я вижу, что вы можете использовать его по трем основным причинам:

  1. Вы можете определить функции или другой код, который могут импортировать другие компоненты. Обычно это лучше поместить в отдельный файл JS / TS, но эй, иногда это имеет смысл.
  2. Вы можете определить состояние, которое должно быть определено только один раз для всех экземпляров этого компонента. Например, вы можете создать компонент счетчика, который обновит все другие экземпляры с тем же значением. ПРИМЕЧАНИЕ Гораздо лучше использовать хранилище для этой функции.
  3. Вы можете определить логику, которая должна происходить только один раз для каждого компонента, и технически ее можно использовать до создания компонента. (Это несколько смешивается с точкой # 1).

Я бы предположил, что перемещение функции preload из тега script модуля не позволяет выполнить предварительную загрузку ДО создания компонента страницы. Таким образом, по существу, компонент создается и вызывается функция предварительной загрузки, которая вызывает повторную визуализацию после возвращения данных. Если предварительная загрузка была в теге script модуля, она выбирается для создания первого рендера.

Это мое собственное образованное предположение, не обязательно факт.

См. Документы здесь .

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