框架的听众,比如你知道的 React、Angular 等。Vue 3 有哪些重大的重大变化?具体来说,他们试图解决哪些问题?您之前提到构图是其中之一,这是重大变化之一吗?
娜塔莉亚:是的,这是最大的变化之一,这实际上是首先让 这里明 Whatsapp 号码列表 确声明的事情之一。组合 API 纯粹是附加的。并不是说你需要重写你的组件,你可以向它们添加 TypeScript。或者您可能更喜欢使用所 有语法,现在我们将其称为选项 API,这些条款对您来说不会有任何改变。就像,当我们谈论新的 API 时,这并不是一个重大变化。我只是想强调这一点,这确实很重要,因为当它第一次宣布 Composition API 时,那是一个糟糕的时刻。
娜塔莉亚:我认为我们并没有很好地描述这些变化,而且我们让标准构建看起来像是 Composition API。这完全是我们的错,我们的选择是,也许我们会在未来的版本中弃用它,而不是在 Vue 3 中,显然。如果人们有可能读错你说的内容,他们就会读错。
娜塔莉亚:此言一出,我们刚刚在 RFC 上提出了改变,Reddit 就炸了。Reddit 上充满了这样的内容:“哦,天哪。我需要写下一切。我的天啊。Vue 是新的 Angular。他们会破坏所有的东西。” 还有一个人在 dev.to 上创建了一篇文章,名为“Vue 的黑暗之日”。老实说,这是最黑暗的一天。我们也这么认为,但我想在自己的 Twitter 上对此进行反击,比如,“我们不是真正的人……他们说我们开始更改 RFC,我认为 Evan 开始更改 RFC,但没有宣布更改。所以他说,“我会很快重写这个。让我们像推入master一样”。人们对此感到愤怒。因为他们在争论某些点,所以你只要刷新一个页面,这些点就不再存在了。你觉得,我是个傻瓜还是只是……到底是什么?我的意思是,它就在那里。我记得这个。我相信我们的沟通策略可以更好,但这不是我们。
娜塔莉亚:现在,每次我谈到构图时,这纯粹是附加的,朋友们。这只是一个很好的功能。你可以使用它,你不能使用它,你没有义务。只是……它存在。
德鲁:如果 Composition API 是一个可以帮助他们摆脱问题的新事物,那么有人可能会遇到什么样的问题?它解决什么问题?
娜塔莉亚:想象一下内部有一些功能的组件。假设它是搜索和排序。假设我们搜索某个列表并尝试对其进行排序。这已经是两个不同的功能,Vue 组件的特点是,它们是根据选项而不是逻辑进行拆分的。想象一下您的搜索可能有一个查询,因为您需要进行查询来搜索和结果数组。这是两个反应性属性。就您的组件而言,您将它们放入称为数据的选项中。显然你需要一些方法来执行排序。也许是单击按钮,也许是其他东西,运行搜索的东西。您创建该方法。对于排序,您需要在排序选项上构建一些东西,这是另一个反应性属性。然后执行一些计算来对结果进行排序。
娜塔莉亚:在 Vue 中,为此,您还可以使用计算属性,这是另一种选择。最后,你的组件变得非常支离破碎。想象一下我是一名开发人员,我的任务只负责搜索部分。我现在无法拆分该组件,因为这两个功能在某种程度上是交叉的。我搜索一些结果并对它们进行排序。我需要从数据跳转到方法,从方法跳转到计算,最后很难切换上下文。特别是当组件变得非常大时。