SvelteKit의 템플릿
SvelteKit용 Git 기반 CMS인 CloudCannon에서 제공했습니다.
이 자습서에서는 기본 SvelteKit 템플릿 개념을 살펴보고 사이트에서 템플릿을 사용하는 방법을 살펴봅니다.
Svelte는 페이지와 구성 요소가 렌더링되는 방식을 완벽하게 제어할 수 있게 해줍니다. 콘텐츠, 출력 변수를 반복하거나 논리 문을 실행하거나 외부 소스에서 데이터를 가져올 수 있습니다. 이전 레슨에서 className을 출력하기 위한 중괄호
{ }
와 같은 몇 가지 템플릿을 이미 접했습니다.SvelteKit에서 템플릿을 어떻게 사용합니까?
템플릿 작성은 SvelteKit에서 수행하게 될 가장 일반적인 작업 중 하나이므로 작동 방식을 보여주기 위해 몇 가지 예를 살펴보겠습니다.
문자열 출력
<p>You can write normal HTML, and when you want to switch to Svelte,
you can use single curly braces like this: { "Hello!" }</p>
출력 소품 값
<script>
export let favorite_treat = 'bone';
</script>
<p>My favorite treat is a { favorite_treat }</p>
정황
<script>
export let goodBoy = true;
</script>
{#if goodBoy}
<p>One treat please.</p>
{:else}
<p>No treats for me.</p>
{/if}
루핑
<script>
export let whoLetTheDogsOut = [
'Bryan',
'Sally',
'Garry'
];
</script>
<ul>
{#each whoLetTheDogsOut as name}
<li>{name}</li>
{/each}
</ul>
인터랙티브 요소
<script>
let count = 0;
function handleClick() {
count += 1;
}
</script>
<button on:click={handleClick}>
clicks: {count}
</button>
<!-- When you click the button it will run the handleClick function
and live update {count} -->
그것은 당신에게 놀 수있는 몇 가지 기본 도구를 제공합니다. SvelteKit 여정을 통해 이러한 개념을 계속해서 사용하게 될 것입니다.
함께 모아서
우리는 여기에서 많은 다른 개념을 보았습니다. 페이지가 렌더링된 날짜와 시간을 웹사이트에 바닥글을 추가하여 실제로 적용해 보겠습니다.
먼저 바닥글에 대한 구성 요소를 만듭니다. 다음 콘텐츠로 생성
/src/lib/Footer.svelte
: <script>
let now = new Date();
</script>
<footer>
Website was generated { today }
</footer>
이전에 했던 것처럼 이제
Footer
를 레이아웃으로 가져오고 구성 요소를 렌더링할 수 있습니다. <script>
import Nav from '$lib/Nav.svelte';
import Footer from '$lib/Footer.svelte';
</script>
<h1>Svelte's space</h1>
<Nav className="alt" />
<slot></slot>
<Footer />
<style lang="scss">
:global(body) {
width: 400px;
margin: 0 auto;
font-family: sans-serif;
}
</style>
무엇 향후 계획?
블로그를 만들어 템플릿 지식을 시험해 봅시다.
Reference
이 문제에 관하여(SvelteKit의 템플릿), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cloudcannon/templating-in-sveltekit-3ikm텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)