Vue.js:组件与插件与Mixins

use*_*687 15 vue.js vuejs2

以下(什么时候使用什么)之间究竟有什么区别:

  • Vue组件
  • Vue插件
  • Vue Mixins

Dan*_*iel 14

组件是元素.它们就像您将用于构建应用程序或UI的功能块和布局块.可以扩展组件,这样做可以使用原始组件的各个方面,同时还可以添加其他功能.

与扩展现有组件类似,您可以使用mixin,它非常类似于您要扩展的组件,但它为现有组件添加了功能.

插件添加了可由任何组件访问的顶级功能.


使用取决于您想要实现的目标.路由和状态管理之类的东西非常适合插件,因为它允许您在不设置道具或监听器的情况下影响/监听应用程序中的更改.但是你不会将它们用于特定于组件的功能,因为它们会污染你的应用程序.

Mixins是一个有争议的特征,有些人认为不应该使用它.我们的想法是组件包装或高阶组件可以以更健壮的方式实现.更多信息:( https://reactjs.org/blog/2016/07/13/mixins-considered-harmful.html)

这些组件是构建vue应用程序的基础,因此您无法使用它们,但有一些方法可以让您从中获得更多.Vue允许使用插槽,这有助于覆盖一些功能,反应社区更喜欢高阶组件.

如果你对Vue比较陌生,我会建议你不要使用mixins,推迟插件,并花时间使用组件实现功能,如果你正在创建可重用的组件,则使用范围的插槽. https://vuejs.org/v2/guide/components-slots.html