如何在 Vue.js 插槽范围内传递方法 [英] How to pass a method in Vue.js slot scope

查看:42
本文介绍了如何在 Vue.js 插槽范围内传递方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 vuejs 中使用了一个槽作用域.它工作得很好.我可以像这样将任何我想要的东西传递到插槽中:

</slot>

问题是当我将一个函数作为 prop 传递时,它在父模板中是未定义的.所以这不起作用:

</slot>

在这个例子中,myMethod 是一个定义在子 vue 组件上的方法.(我用的是打字稿,所以它是组件类上的一个方法)

关于如何将在子组件上定义的函数通过插槽道具传递回父组件以便可以从父组件的插槽代码中调用它的任何想法?

解决方案

UPDATE

此答案是为较旧的pre v2.6 语法编写的.从那时起,此语法已被标记为弃用.核心功能保持不变,函数(方法)的工作方式与向上绑定的属性(从子级到父级)相同,但是定义现在使用 v-slot:default.

根据更新的文档(

<小时>

使用 pre v2.6 语法的原始答案.如何传递 slot-scope

的示例

父母: