在实际项目的开发中,有许多基本的类似功能模块,但是操作和显示数据是不同的。许多逻辑和配置相同
在项目中,每个文件组件是一个模块组件,每个组件都有其自己的数据和方法逻辑
如果每个文件组件要实现相同的功能
然后在每个单个文件组件中重复逻辑业务代码,以便在许多单个文件组件中,从某个位置复制的代码无处不在
其中,您可以使用包装组件来实现重复使用代码的目的。除了重复使用模板外,还可以公开使用逻辑,一些配置选项吗?
当然,这是可能的。当您只需要修改相同的逻辑时,只需修改相同的逻辑代码。
今天,我将了解这一点,当遇到相同的逻辑时,如何共享逻辑配置?
假设:现在有两个不同的按钮,单击它以弹出组件本身的不同属性
用脚手架创建一个项目,在文件夹下单独创建两个组件
以下是组件的内容。
以下是组件的内容。
然后介绍两个组件
在上面几行代码之后,我们可以实现所需的目的,但是您会发现它们的功能逻辑是相同的,并且定义的方法名称是相同的。
如果项目中有许多此类组件,只要您想更改,则必须手动修改所有单个文件组件。毫无疑问,有更多重复的代码,这是更分散的
对于不同组件之间的相同配置,可以提取并共享一个副本,以提供
将多个组件的co构型提取到混合对象中,然后通过本地或全局混合进行混合以实现共享配置的目的。这是
官方文档:混合提供了一种非常灵活的方法来分配组件中的复制功能。混合对象可以包含任何组件选项。当组件在混合对象中使用时,所有混合对象的所有选项都将“混合”为组件本身的选项
翻译:提取组件的公共逻辑或配置(包括,偶数等)。何时需要使用哪个组件,可以将提取部分直接混合到组件中。这不仅可以减少代码减少,而且可以使以后更容易维护。
注意:提取逻辑或配置,而不是代码和代码。换句话说,它是组件中的组件。
然后,组件和组件之间有一个重复的部分,例如逻辑业务的重复使用,我们也可以使用它来拉开
以下是重写的
在文件夹下方创建一个文件夹(所有混合在此文件夹中),创建一个文件,创建一个对象,然后公开
然后,如下所示,通过介绍介绍了以下组件,同时在组件配置选项中,如果其中多个,则使用逗号分开
这是在组件内部,也被认为是局部混合
本地混合意味着仅在当前组件中,这与按需加载的需求类似。
如果全局混合混合在一起,则意味着我可以在项目的任何组件中使用它。
局部混合是通过引入混合,通过引入组件的混合
在项目代码中引入了整体混合以引入混合。
通过这种方式,可以将任何组件混合在一起,如以下代码中所示
:::提示预防措施在使用全局混合时应小心。一旦使用全局混合,它将影响以后创建的示例,也就是说,所有的都会混合在一起
它与本地混合之间没有区别。尽管一次注射很方便,但它也会带来一些问题。所有组件实例和VUE实例都将混合在一起。
在官方的特别提醒中,提到全球混合的使用是谨慎的,因为它会影响每个人创建的实例(包括第三方组件)
以下代码
当组件和混合对象包含同名选项时,这些选项将以合适的方式合并
换句话说,当数据定义的数据,组件中的方法名称以及该方法的方法名称是同一名称时,将会发生什么。
将有数据和方法名称的覆盖范围?谁掩盖了谁?
可以有您自己的生命周期功能。像组件一样,生命周期函数是自执行的函数,该功能将在某个阶段自动执行
它是固定的,默认的合并策略如下所示
当数据与组件中的数据冲突时,组件中的数据将涵盖数据中的数据
如果没有相同的数据,数据将合并
在同一项目中,相同的名称很容易遇到。如果中间的方法名称与简介中的组件的方法名称一致,则当前组件应占上风
由于它是如此易于使用,为什么不直接推荐它呢?您可以重复使用组件的逻辑,可以节省很多代码,但也会带来一些问题
在某些单个文件组件中,介绍,因为可以在组件中调用的方法以及在使用使用中定义的数据,当找到上下文时,它变得不是那么直观。
使用时,它不利于阅读,代码变得难以维护
因为可以在多个中引入组件,并且变量和方法直接调用,这将使编写代码的人看起来很困惑,并且变量和方法无法区分。哪一个是?
因此,这里的建议是:普通的方法均匀地将其放在文件夹下进行管理
当组件中定义的属性与方法的外观相同时,后一个组件的属性将覆盖属性
一个组件可以引用多个一个或多个组件,因为它是共享逻辑,因此在关系方面,不清楚
不容易跟踪代码,检查问题,您可以使用工具来搜索全局。如果在许多地方使用它,则必须一一检查
如果滥用,这将使代码难以维护
如果将其混合在全球混合中,在审查代码时,任何组件中都会有莫名其妙的属性和方法,这会使新学生感到困惑。如果您熟悉
所以我很痛苦。这个变量名称和方法,我在组件中没有定义,但是为什么我可以使用它并带来一些混乱
注意
如果功能,逻辑,从一开始就可以肯定它将不会在将来移动,则可以使用它
它是重复使用逻辑和简化代码的一种想法,相当于在组件中提取公共配置属性。
它为包装和重用代码带来了很多便利,但不要滥用它。有些场景非常合适,但是有些场景的使用过多,这也会带来一些不可预测的问题。
通常,公共组件更适合使用,当可以可视化数据时,当有许多组件级别时,如果要从同一数据源绘制公共数据,也可以使用
阅读一些出色的项目时,您还将看到许多正在使用的项目
Vuejs-Local Mix/Global Mixing中的原始Source-Mixin
原始:https://juejin.cn/post/7098238591263834148