在 Svelte 中禁用换行 link

Disabling wrapping link in Svelte

我正在尝试根据变量使组件作为 link 工作。可以吗?

所以有时我希望它像这样工作:

<a href="...">
   <Component />
</a>

有时是这样的:

<Component />

我需要它作为 link 工作,因为我需要在其上使用 target='_top'window.top.location.href=... 不适用于我的情况。

你试过了吗window.open(href, '_top')

否则,你所要求的只能用{#if ...}来实现:

{#if target}
  <a {href} {target}>
    <Component />
  </a>
{:else}
  <Component />
{/if}

还有其他方法:阻止默认点击事件,通过 CSS 阻止点击事件,可能更多...但我认为 window.open 的第一个建议应该对你有用。