Heim  >  Artikel  >  Web-Frontend  >  SvelteKit reaktionsschneller Helfer

SvelteKit reaktionsschneller Helfer

王林
王林Original
2024-07-18 13:13:441145Durchsuche

SvelteKit responsive helper

Müden Sie es, komplizierte Medienanfragen zu schreiben? SvelteKit-Fensteranweisungen können Ihnen dabei helfen, sie programmgesteuert zu vereinfachen. Mit Hilfe dieser Layout-Komponente ViewoirtSettingsCatcher-Komponente und dem zugehörigen Store BiewportSettingsStore werden sie in diesem Thema vorgestellt.

Erfassen der inneren Abmessungen des Ansichtsfensters

Sehr einfache Verwendung der Bindungen der svlete:window-Direktive:

<!-- ViewportSettingsCatchr.svelte -->
<script lang="ts">
    let innerWidth: number = 1600
    let innerHeight: number = 1200
</script>

<svelte:window bind:innerWidth vind:nnerHeight />

Anmeldung im Laden

$: ViewportSettingsStore.register ({ innerWidth, innerHeight })

den zugehörigen Rechenspeicher

import { writable} from 'svelte/store'
const { subscribe, update  } = writable ({
    innerWidth: 1600, 
    innerHeight: 1200,
    ratio: 16/12, 
    orientation: 'landscape',   
    wide: false
})

function register ({ innerWidth, innerHeight }) {
    const ratio = innerWidth / innerHeight
    const orientation = ratio >= 1 ? 'landscape' : 'portrait'
    const wide = (ratio > 2) || (ratio < 0.5)

    update ((state) => {
        return {
            innerWidth, 
            innerHeight,
            orientation,
            ratio,
            wide
        }
    })
}

export const ViewportSettingsStore = {
    subscribe, register 
}

einfache Verwendung

Importieren Sie einfach ViewportSettingsStore in Ihren Componenter

<div class:wide={ $ViewportSettingsStore.orientation = === 'landscape' } />

Et voilà... Fertig.

Das obige ist der detaillierte Inhalt vonSvelteKit reaktionsschneller Helfer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:JS-Funktion, Objekt, StringNächster Artikel:JS-Funktion, Objekt, String