javascript - 在 Vue.js 组件之间共享功能?
问题描述
在我的应用程序中,我有很多实用函数,它们可以做一些小事情,从解析字符串到制作 toast 等等。我的问题是如何在其他.vue
文件中访问这些?我不想为我编写的每个新 Vue 组件重写这些函数。我可以通过将一个组件导入另一个组件来使用它们吗?(如果我没有在另一个模板中添加组件,Vue 会抱怨,这意味着我不能只导入那个 JavaScript)。如果是这样,这是一件好事/明智的事情吗?这样做的标准方法是什么?
解决方案
您可以创建插件来公开Vue
. 插件文档
// group utils functions together
Vue.prototype.$utils = {
funcA: function () { ... },
funcB: function () { ... }
}
或者
将它们全部移动到通用实用程序模块,src/utils.js
然后每个 Vue 组件都可以根据需要导入:
// src/utils.js
const funcA = () => {
console.log('funcA');
}
const funcB = () => {
console.log('funcB');
}
export { funcA, funcB }
// VueComponentA.vue
import { funcA } from 'path/to/utils';
// VueComponentB.vue
import { funcB } from 'path/to/utils';
推荐阅读
- slack - 松弛消息中的键盘格式?
- html - 自动完成禁用样式?(附图)
- label - 编写带有标签规则的类型安全访问者
- javascript - 使用 getRange() 时如何跳过一列 - Google Apps 脚本
- ios - 如何自动调整从 xib 创建的 MarkerView
- javascript - 按下滚动底部时使用动画平滑显示隐藏按钮
- java - 如何使用 Spring Integration WS 调用 RESTful API 和处理响应
- ssh - SSH 终端环境
- c++ - “围绕变量 'b' 的堆栈已损坏。” (没有堆分配)
- reactjs - React 按钮 onClick 事件调用其他组件