首页 > 解决方案 > 向/从子 Svelte 组件传递可执行函数引用?

问题描述

你好。我怎样才能成功地完成这个循环?

  1. 将父组件的函数名传递给子组件
  2. 让子组件在事件上返回函数名称(例如单击)
  3. 在父组件中执行函数名(现在是字符串)

需要这样做的一个例子是在应用程序标头中使用类似于 DropdownMenu 组件的东西——其中标头有一个注销链接/处理程序,该链接/处理程序与其他 href 链接/操作的混合传递到菜单。

这是我目前正在采用的方法的一个 REPL 示例(使用window[functionName]),但它还不起作用 -</p>

https://svelte.dev/repl/280626d841d84dd08dd944ec249e4e6f?version=3.38.2

谢谢你的帮助。

标签: javascriptsveltesvelte-component

解决方案


看起来解决方案是简单地不将父组件中的函数作为字符串传递。

将它们作为文字引用传递并在子组件中通常调用它们是可行的。

更新了工作版本的 REPL -

https://svelte.dev/repl/5b8bb118e0aa47d38d974cbc1fd23453?version=3.38.2


推荐阅读