面试题答案
一键面试- 设计思路:
- 在Svelte中,虽然Props是单向数据流,但可以通过自定义事件来实现子组件向父组件传递信息。父组件可以将一个函数作为Prop传递给子组件,子组件在需要时触发这个函数,从而实现更新数据的目的。
- 实现步骤:
- 顶层父组件:
- 定义一个数据变量和一个更新数据的函数。
- 将更新数据的函数作为Prop传递给子组件。
- 底层子组件:
- 接收父组件传递的函数作为Prop。
- 在需要触发更新的地方调用这个函数。
- 顶层父组件:
- 关键代码片段:
- 顶层父组件(例如
Parent.svelte
):
- 顶层父组件(例如
<script>
let data = '初始数据';
function updateData(newData) {
data = newData;
}
</script>
<Child {updateData} />
<p>{data}</p>
- 底层子组件(例如
Child.svelte
):
<script>
export let updateData;
function triggerUpdate() {
const newData = '新的数据';
updateData(newData);
}
</script>
<button on:click={triggerUpdate}>更新数据</button>