반응형
Svelte: 구성 요소에서 본문에 스크롤 클래스 이름을 추가하지 않음
나는 가변 토글이 있는 부품을 가지고 있다.
export let toggle = true;
토글이 참일 때 의 클래스 이름을 추가하여 본문 스크롤을 잠급니다. 나는 이것을 에 추가했다
<style>
.noscroll { position: fixed; overflow-y:scroll };
</style>
사이드바가 열려 있을 때 이렇게 y축 스크롤 잠금을 구현하는 가장 좋은 방법은 무엇입니까?
사이드바에 있습니다.svelt 클래스 이름을 전환하는 반응 함수를 추가합니다
export let toggle;
$: document.body.classList[toggle ? 'add' : 'remove']('noscroll');
갱신된
토글에는 두 번째 주장이 필요하다는 것을 지적한 리치 해리스 덕분에 이것은 다음과 같이 단순화될 수 있다
export let toggle;
$: if (process.browser) document.body.classList.toggle('noscroll', toggle);
이 질문 이후 공개 베타가 된 SvelteKit를 사용할 때 제공된 변수를 사용할 수도 있습니다.
export let toggle;
import { browser } from '$app/env'
$: if (browser) document.body.classList.toggle('noscroll', toggle);
반응형
'개발하자' 카테고리의 다른 글
데이터 가져오기의 python 스크립트 변수에 대한 Power BI Pass 매개 변수 값 (0) | 2023.02.08 |
---|---|
파이썬에서 글로벌이 아닌 외부(포착) 범위에 있는 변수를 수정할 수 있습니까? (0) | 2023.02.07 |
Swift 및 Pythonkit에서 Python 모듈 사용 (0) | 2023.02.06 |
PythonKit을 사용하여 Xcode 11에서 Python 모듈을 가져올 수 없습니다 (0) | 2023.02.05 |
Flot Nosuch 메서드 오류를 수정하는 방법은 무엇입니까? (0) | 2023.02.05 |