面试题答案
一键面试- 使用TypeScript定义属性类型:
- 可以在一个
.d.ts
文件(比如components.d.ts
)中定义一个接口来描述组件属性类型。
// components.d.ts import type { SvelteComponentTyped } from'svelte'; export interface MyComponentProps { name: string; } export default class MyComponent extends SvelteComponentTyped<MyComponentProps> {}
- 可以在一个
- 在Svelte组件中正确使用:
- 在Svelte组件(比如
MyComponent.svelte
)中使用这个类型定义。
<script lang="ts"> import type { MyComponentProps } from './components.d.ts'; const props: MyComponentProps = $props; const { name } = props; if (!name) { throw new Error('name property cannot be empty'); } </script> <div> <p>{name}</p> </div>
- 另一种方式是在Svelte组件内直接定义类型。
<script lang="ts"> type MyComponentProps = { name: string; }; const props: MyComponentProps = $props; const { name } = props; if (!name) { throw new Error('name property cannot be empty'); } </script> <div> <p>{name}</p> </div>
- 在Svelte组件(比如