带来很多问题。抽象逻辑的下一个方法是无渲染组件。在 Vue 中,组件可以包含插槽。基本上是一个可以放置父组件中任何内容的部分。一个小窗口,实际上是一个槽。还有一个作用域插槽的想法。想象一下,可以将自己的范围公开给父级的子组件,并且槽内容将可以访问它。想象一下,我有一个带有插槽的组件,并且组件执行有关搜索的所有逻辑,假设搜索的终点是过去的参数。我们的子组件,例如搜索,然后将其范围的这一部分暴露给父组件。这些是搜索结果。享受。听起来不错。听起来绝对比 mixins 好。我们可以测试参数。这里的逻辑很明确,我们正在返回一些东西。问题?有几个。 娜塔莉亚:首先,您已经创建了组件实例。这并不是世界上最便宜的手术。第二部分,运行时。
为插槽范围的插槽中使用
因此您的搜索结果仅在模板的一小部分中可用。如果您想使用组件的离散部分,则您无权访问那里。这是运行时。如果您在其他地方需要反应状态,则无需执行此逻辑。当然,它可 以像纯函数一样创建助手并返回结果,但是,如果我需要对反应性 马其顿手机号码列表 属性进行操作怎么办?这就是 Composition API 的创建方式。使用您可以拥有独立的反应状态。反 应状态不再只是组件的一部分。您可以使任何对象或原始对象具有响应性。你可以将它暴露给父级,这是非常明确的。 娜塔莉亚:您想要返回给父级的每个属性都会公开。它很明确,你可以点击这个,你可以看到它在哪里,它是什么等等。最棒的是,如果您将 的一部分包含到具有数据方法、计算机属性等的旧组件中,它就可以正常工作。马其顿手机号码列表
您也可以将它们与旧的选项
些反应式属性和方法,API 一起使用。 德鲁:这听起来确实会帮助开发人员在涉及非常复杂的组件甚至是稍微复杂的组件组合时清理他们的代码库。您提到了 mixins 等事物的可测试性,Composition API 是否允许更好的可测试性? 娜塔莉亚:是的,肯定是因为组合 API,如果我们从中排除生命周期挂钩,因为您还可以在可组合中运行另一个生命周期挂钩。它实际上是纯函数。你有 S 参数,你正在做一些事情,但在 传真列表 生命周期挂钩之外仍然存在副作用。如您所知,测试纯函数可能是最简单的事情。它只是一个黑匣子,你有 S 参数,你有一些东西可以返回。 德鲁:这听起来是一个非常全面的问题解决方案,我相信很多使用 Vue 构建更复杂应用程序的人都会欣赏它。这听起来确实是一种非常好的方法,可以消除我知道的 mixin 中可能出现的错误,就像你提到的那样,很容易引入错误,因为范围被合并以及诸如此类的事情。