use*_*914 5 svelte svelte-component svelte-store routify
如何将数据(例如:导航栏标题)传递到父元素中使用的组件?
<!-- _layout.svelte -->
<script>
import Nav from "../components/Nav.svelte";
let navTitle = "MyApp";
</script>
<Nav {navTitle}/>
<slot />
Run Code Online (Sandbox Code Playgroud)
<!-- Nav.svelte -->
<script>
export let navTitle = "";
</script>
<h1>{navTitle}</h1>
Run Code Online (Sandbox Code Playgroud)
<!-- Login.svelte -->
How to pass navTitle value from here to Nav.svelte?
Run Code Online (Sandbox Code Playgroud)
需要澄清的是,这需要可扩展,并且能够使用 Routify 处理 SPA 的所有路由的页面加载/转换,最好提供默认值并能够具有 HTML 值:
<!-- Article.svelte -->
Run Code Online (Sandbox Code Playgroud)
<!-- User.svelte -->
navTitle is '<a href="/user">My Account </a>'
Run Code Online (Sandbox Code Playgroud)
<!-- Comment.svelte -->
Run Code Online (Sandbox Code Playgroud)
跨组件共享数据的最简单方法是使用文档中描述的存储
你的设置是
<!-- Nav.svelte -->
<script>
import { navTitle } from './store.js'
</script>
<h1>{$navTitle}</h1>
Run Code Online (Sandbox Code Playgroud)
<!-- Login.svelte -->
<script>
import { navTitle } from './store.js'
navTitle.set('...')
</script>
Run Code Online (Sandbox Code Playgroud)
<!-- store.js -->
import { writable } from 'svelte/store'
export const navTitle = writable('')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4360 次 |
最近记录: |