vue.js - 如何更正确地在 VueJs 中制作 Helper?
问题描述
我有一些方法可以生成随机的十六进制颜色。它将在项目的极少数(3 或 5)部分中使用。所以我想把它从主代码中分离成某种 Helper 或其他的东西,并在需要时包含它(不是全局的)。
我有两种工作方式来做到这一点:
- 使用混合。我不喜欢的是,当你阅读代码时,你无法将自己的方法与 mixin 的方法分开。
- 使用插件。我不喜欢的是,您必须 每次都在要使用它的所有文件中编写
import Vue from 'vue'
+ 。Vue.use(MyPlugin)
之后,您可以像这样调用它。$ColorHelper.getRandomHEX()。
所以,问题是关于美学可视化的。做这些事情的最佳做法是什么?
PS:项目是使用 webpack 从模板创建的。
解决方案
我们的团队决定使用从 files-helpers 导入的函数 例如:
import { getRandomColor, getBackgroundColor } from 'Global/helpers/colorHelper';
// .....
let color = getRandomColor();
有什么好处:
- 不需要在插件中使用多余的导入 + 使用
- 方法在视觉上脱颖而出,它不是来自什么
this
什么不好:
- 无法直观地看到助手有什么方法。但可能可以用别名修复。我们还没有想到
推荐阅读
- python - MongoDB - 不推荐使用计数
- arrays - React 钩子不会在单击事件上更新图像数组的状态
- c++ - 铸造一个已定义(已知)的邻居记忆
- python - 我在哪里可以下载用于农业用例的 geotiff 格式的正射镶嵌图像
- angular - 如果我使用带有 ng build 的库,我如何让我的服务器检测角度的修改
- javascript - 使用包含 HTM:L 标签的字符串进行操作
- kubernetes-helm - 如何使用 pvc 和 initContainer 对部署执行 helm update?
- php - CS-CART 如何通过 API 创建新类别
- c - 我正在尝试使用 Luhn 的算法来检查有效的信用卡,但我无法将这些数字相加
- azure-devops - Azure Boards:如何限制更改工作项状态