我正在使用Svelte创建个人网站。我想在最终的HTML代码中,基于Svelte组件,在头部放置一段JavaScript代码。因此,我的代码看起来像这样:
<svetle:head>
<script> var url = "myurl.com/"; </script>
<svetle:head>
在[slug].svelte
文件中,我想要在脚本中替换传递给该组件的prop值。我尝试了以下方法:
<svetle:head>
<script> var url = "myurl.com/{post.slug}"; </script>
<svetle:head>
很不幸,这并不会起作用。如果替换
{post.slug}
发生在 <script>
之外的位置,Svelte 将会很好地进行替换,并将生成的 HTML 传递给客户端。然而,因为它在 <script>
中,Svelte 似乎认为我一定要字面意义上使用 "myurl.com/{post.slug}"
,而不是 "myurl.com/my-post-name"
。我认为这可能是因为 {}
在 JavaScript 中有意义。
请注意,我已经尝试过每种组合:"myurl.com/{post.slug}"
,"myurl.com/"{post.slug}
,myurl.com/${post.slug}
。在 <script>
中放置 {post.slug}
的任何位置都不会进行替换。如何在 Svelte 执行组件中的每个其他替换时执行此替换?我无法想象没有办法做到这一点,但是 Svelte 文档似乎没有涉及到这个问题。
\
myurl.com/${post.slug}`` 吗?它被称为 模板字面量。 - undefined