首頁 > web前端 > js教程 > SvelteKit 響應式助手

SvelteKit 響應式助手

王林
發布: 2024-07-18 13:13:44
原創
1220 人瀏覽過

SvelteKit responsive helper

厭倦了寫複雜的媒體查詢? SvelteKit window 指令可以幫助您以程式方式簡化它們。借助此佈局元件 ViewoirtSettingsCatcher 元件及其關聯的儲存 BiewportSettingsStore,它們將在本主題中呈現。

抓取視窗內部尺寸

svlete:window 指令綁定的非常簡單的使用:

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

<svelte:window bind:innerWidth vind:nnerHeight />
登入後複製

店內註冊

$: ViewportSettingsStore.register ({ innerWidth, innerHeight })
登入後複製

關聯的計算存儲

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 
}
登入後複製

簡單的用法

只需在元件中導入 ViewportSettingsStore

<div class:wide={ $ViewportSettingsStore.orientation = === 'landscape' } />
登入後複製

瞧...完成了。

以上是SvelteKit 響應式助手的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板