SvelteKit 구성 요소
SvelteKit용 Git 기반 CMS인 CloudCannon에서 제공했습니다.
이 튜토리얼에서 SvelteKit 페이지를 더 작은 "구성 요소"로 나누는 방법을 알아보세요.
구성 요소는 SvelteKit의 핵심이므로 레이아웃에 내비게이션 바를 추가하여 구성 요소가 어떻게 작동하는지 알아보겠습니다.
첫 번째 구성요소
먼저 모든 구성 요소를 위한 집이 필요합니다.
lib
내부에 src
라는 디렉토리를 생성하여 /src/lib/
로 끝납니다. 새lib
디렉토리 내에서 다음을 사용하여 Nav.svelte
를 생성합니다. <nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
</ul>
</nav>
<style lang="sass">
nav ul {
list-style: none;
padding: 3px 5px;
background: #111;
&.alt {
background: blue;
}
a {
color: #fff;
text-decoration: none;
&:hover {
text-decoration: underline;
}
}
li {
display: inline;
}
}
</style>
/src/routes/__layout.svelte
의 레이아웃에 이것을 추가해 봅시다. 먼저 파일 맨 위에 있는 모듈을 가져옵니다.
<script>
import Nav from '$lib/Nav.svelte';
</script>
Svelte에서
<Widget>
와 같은 대문자 태그는 구성 요소를 나타냅니다. 따라서 다음과 같이 Nav 구성 요소를 호출할 수 있습니다. <Nav />
모두 합치면 레이아웃은 다음과 같이 보일 것입니다.
<script>
import Nav from '$lib/Nav.svelte';
</script>
<h1>Svelte's space</h1>
<Nav />
<slot></slot>
<style lang="scss">
:global(body) {
width: 400px;
margin: 0 auto;
font-family: sans-serif;
}
</style>
브라우저에서 새로운 내비게이션 바를 살펴보세요!
구성요소에 매개변수 전달
추가 사용자 지정을 허용하기 위해 구성 요소에 몇 가지 소품을 추가하여 한 단계 더 나아가 보겠습니다.
.alt
구성 요소의 일부로 <style>
에서 지정한 사용되지 않은 Nav
스타일을 알아차렸을 수 있습니다. Nav
가 이 레이아웃에서 호출될 때 alt
클래스를 적용하고 사이트의 다른 곳에서 구성 요소의 원래 버전을 계속 호출할 수 있기를 원한다고 가정해 보겠습니다. 소품을 설정하여 이를 수행할 수 있습니다.구성 요소에서 소품을 선언하는 것으로 시작하겠습니다.
<script>
export let className = '';
</script>
이는 className 소품을 이 구성 요소에 매개 변수를 전달하면 재정의되는 빈 문자열로 초기화합니다. 이제 이것을 사용하여
<ul>
에 클래스를 설정할 수 있습니다. <ul class="{className}">
이제 전체 파일은 다음과 같습니다.
<script>
export let className = '';
</script>
<nav>
<ul class="{className}">
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
</ul>
</nav>
<style lang="scss">
nav ul {
list-style: none;
padding: 3px 5px;
background: #111;
&.alt {
background: blue;
}
a {
color: #fff;
text-decoration: none;
&:hover {
text-decoration: underline;
}
}
li {
display: inline;
}
}
</style>
이제 사이트를 볼 때 파란색 탐색 모음이 있어야 합니다. 꽤 깔끔한!
무엇 향후 계획?
다음 강의에서는 SvelteKit의 기본 템플릿을 살펴보겠습니다.
Reference
이 문제에 관하여(SvelteKit 구성 요소), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cloudcannon/sveltekit-components-10kg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)