Maison > Questions et réponses > le corps du texte
P粉1741519132023-08-16 18:17:53
Dans le balisage, il existe une syntaxe native (avec de nombreuses variantes) qui peut être utilisée pour attendre des promesses :
{#await loadLang() then lang} <span>{lang.someValue}</span> {/await}
Une autre option consiste à déclarer une variable dans la portée supérieure et à la définir une fois les données chargées. Bien sûr, il ne sera pas défini au début, ou quelle que soit la valeur à laquelle vous l'initialisez. Ceci est alors généralement combiné avec {#if}
:
let lang; loadLang().then(l => lang = l);
{#if lang} <span>{lang.someValue}</span> {/if}
Avoir une garde sur le navigateur
n'est pas une bonne chose. Vous souhaiterez peut-être déplacer le chargement des données vers la fonction de chargement +layout
browser
上有一个守卫并不好。您可能希望将数据加载移到+layout
加载函数中,以便将其作为data
afin qu'il soit transmis en tant qu'attribut data
et puisse être utilisé pendant SSR et CSR, et soit disponible pour chaque page qui utilise la mise en page.
N’utilisez pas d’en-têtes document.documentElement.lang
,而是在服务器上使用请求的Accept-Language
.
Le chargement des données avant que la page ne soit servie/rendue empêche également d'éventuelles modifications de mise en page ou des indicateurs de chargement.