使用保留字作为道具名称

时间:2019-05-02 17:20:39

标签: svelte

我想使用class作为组件的道具名称,但是出现以下错误:

  

意外的关键字“类”。

<script>
  export let class = '';
</script>

<style>
  .foo {
    color: red;
  }
</style>

<div class="{class}">
  <slot />
</div>

是否可以在Svelte中使用保留字作为道具名称?

1 个答案:

答案 0 :(得分:3)

通过为prop命名一个非保留字的东西,然后将其导出为保留字,可以按预期工作。

REPL

<!-- App.svelte -->
<script>
  import Child from './Child.svelte';
</script>

<Child class="foo">Bar</Child>

<!-- Child.svelte -->
<script>
  let classProp = '';

  export { classProp as class };
</script>

<style>
  .foo {
    color: red;
  }
</style>

<div class="{classProp}">
  <slot />
</div>