相关疑难解决方法(0)

Sveltekit:使用 $page.path 设置活动链接的样式

我正在开发一个 sveltekit 应用程序,其侧导航包含链接。我无法使链接上的活动类样式正常工作。

这些链接是NavLink.svelte中的组件:

<script>
  import { page } from '$app/stores';
  import Icon from '$lib/Icon.svelte';
  export let title;
  export let href;
</script>

<a {href} class="link" class:active={$page.path == href}>
  <Icon {title} />
</a>

<style>
a.active {
  background-color: rgba(0,0,0,0.24);
</style>
Run Code Online (Sandbox Code Playgroud)

这些链接在SideNav.svelte中使用:

<script>
  import NavLink from '$lib/NavLink.svelte';
</script>

<nav class="container">
  <div id="links">
    <NavLink href="/link1" title="icon1" />
    <NavLink href="/link2" title="icon2" />
    <NavLink href="/link3" title="icon3" />
  </div>
</nav>
Run Code Online (Sandbox Code Playgroud)

最后,sidenav 加载到我的__layout.svelte中:

<SideNav />
<slot />
<Footer />
Run Code Online (Sandbox Code Playgroud)

现在,当我单击其中一个侧导航链接时,我将被路由到正确的页面,但我的导航链接未采用该类的样式.active。但是,如果我检查该链接,devtools 会向我显示: …

css routes svelte sveltekit

11
推荐指数
2
解决办法
1万
查看次数

标签 统计

css ×1

routes ×1

svelte ×1

sveltekit ×1