Rumah > Soal Jawab > teks badan
P粉7242568602023-09-02 07:57:11
Apabila menggunakan Svelte sahaja, anda boleh menggunakan API komponen sisi pelanggan
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 } }) }) }
Dalam apl SvelteKit, anda boleh menambah gelagat global menggunakan 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}
Pengesahan gagal apabila data.keycloak
tidak ditentukan.
Ini membenarkan pemaparan kandungan bersyarat.
(contoh kod menganggap keycloak adalah pengesahan pelanggan)