【问题标题】:Vue.js: Components vs. Plugins vs. MixinsVue.js:组件 vs. 插件 vs. Mixins
【发布时间】:2018-05-22 18:32:53
【问题描述】:

以下具体有什么区别(什么时候用什么):

  • Vue 组件
  • Vue 插件
  • Vue Mixins

【问题讨论】:

标签: vue.js vuejs2


【解决方案1】:

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

与扩展现有组件类似,您可以使用 mixin,这很像您要扩展的组件,但它为现有组件添加了功能。

插件添加了任何组件都可以访问的顶级功能。


用途取决于您要达到的目标。诸如路由和状态管理之类的东西非常适合插件,因为它允许您影响/侦听整个应用程序的更改,而无需设置道具或侦听器。但是您不会将它们用于特定于组件的功能,因为它们会污染您的应用程序。

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

组件是构建 vue 应用程序的基础,因此您无法绕过使用它们,但有一些方法可以让您充分利用它们。 Vue 允许使用槽,这有助于覆盖一些功能,而 React 社区更喜欢高阶组件。

如果您对 Vue 比较陌生,我建议您不要使用 mixins,推迟使用插件,直到花时间使用组件实现功能,如果您要创建可重用组件,请使用作用域插槽. https://vuejs.org/v2/guide/components-slots.html

【讨论】:

  • 感谢您的回答。刚刚学习 Vue.js。澄清一下:为了让其他人使用我的组件,我是否需要将我的组件更改/公开为插件?如果没有,他们将如何在他们的项目中导入/使用我的组件。
  • 只能分享组件代码。组件在某种程度上是自包含的,但它们可能需要库和一些步骤来实现;但常见的方法是将库打包为依赖项。您可以浏览许多 github vue 库 repos 以查看如何完成此操作的示例。它们通常包括代码和构建过程以生成用于分发的库。选择取决于您的需求和经验。如果您与同事或团队成员共享,您也可以只共享一个工作项目 repo。
猜你喜欢
  • 2013-05-30
  • 1970-01-01
  • 2011-02-15
  • 2010-10-29
  • 2018-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-26
相关资源
最近更新 更多