Maison > Questions et réponses > le corps du texte
P粉7242568602023-09-02 07:57:11
Lorsque vous utilisez Svelte seul, vous pouvez utiliser l'API des composants côté client
import App from "./App.svelte" keycloak.init({ onLoad: initOptions.onLoad }).then((auth) => { if (!auth) { window.location.reload(); } else { new App({ target: document.getElementById('#app'), props: { keycloak: keycloak } }) }) }
Dans une application SvelteKit, vous pouvez ajouter un comportement global en utilisant src/routes/+layout.js :
// layout.js import { browser } from "$app/environment"; /** * @type {import('./$types').LayoutLoad} */ export const load = async () => { let keycloakPromise; if (browser) { keycloakPromise = keycloak.init({ onLoad: initOptions.onLoad }).then((auth) => { if (auth) { return keycloak; } }); } return { keycloak: keycloakPromise, }; };
<!-- layout.svelte -->
<script>
import { onMount } from "svelte";
/** @type {import('./$types').LayoutData} */
export let data;
onMount(() => {
if (!data.keycloak) {
window.location.reload();
}
});
</script>
{#if data.keycloak}
<slot />
{/if}
L'authentification échoue lorsque data.keycloak
n'est pas défini.
Cela permet le rendu conditionnel du contenu.
(l'exemple de code suppose que le keycloak est l'authentification du client)