javascript - 道具未出现在 Svelte DevTools 中
问题描述
我正在构建一个应用程序作为学习 Svelte 的一种方式。这一切都运行得很好,但是当我在Svelte DevTools中查看它时,组件上的道具没有出现,尽管它们的值以数组的形式出现在状态中。我想我一定是做错了什么,但谁能告诉我什么?
屏幕截图显示了Artist
加载了组件的应用程序。我希望它有一个artistId
带有 value 的道具1
,但事实并非如此。
代码中的page()
函数来自我用于路由的Page.js。
// app.js
import page from 'page'
import App from './views/App.svelte'
const app = new App({
target: document.body,
props: {
artistId: null,
route: null,
},
})
function artist (ctx) {
const artistId = ctx.params.artistId
app.$set({
route: 'artist',
artistId: artistId,
})
}
page('/artist/:artistId', artist)
page()
// App.svelte
<script>
import Artist from './Artist.svelte'
import Head from '../parts/Head.svelte' // sets page titles
import Home from './Home.svelte'
import HomeLink from '../parts/HomeLink.svelte' // navigation
export let artistId
export let route
</script>
<HomeLink route={route} />
{#if route === 'artist'}
<Artist artistId={artistId} />
{:else}
<Home />
{/if}
// Artist.svelte
<script>
import { onMount } from 'svelte'
import { pageName } from '../stores.js'
export let artistId
let artistName
onMount(async () => {
// fetches various details from API, sets artistName etc
$pageName = `Artist details: ${artistName}` // used by Head.svelte
})
</script>
解决方案
这是一个已知问题——它应该由https://github.com/sveltejs/svelte/pull/3822修复
推荐阅读
- python - 在 Python 中绘制 DWT 比例图
- list - Flutter 如何在 ListView 中加载 Future 列表?
- go - 如何在 Go 中向 AWS S3 预签名 URL 添加标头?
- javascript - 请问如何在等待几分钟后自动将余额添加到用户帐户?
- c++ - 为什么(或何时)模板引入其命名空间?
- google-apps-script - Google Apps 脚本创建 Google Doc,然后将 blob 保存到 PDF 即使在 saveAndClose() 之后也无法正常工作
- javascript - Jest 配置没有正确识别要测试的文件
- flutter - 向我的项目添加风味后,我无法初始化 Flutter for web
- python - 为什么 Ansible 不使用系统 python 的 pip?
- svg - SVG stroke-dashoffset 在 IOS(safari 和 chrome)上工作异常