Javascript 我应该将多个Vue.js组件使用的通用实用程序函数放在哪里?

Javascript 我应该将多个Vue.js组件使用的通用实用程序函数放在哪里?,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,通常我在组件中创建函数,该组件将使用函数,但是,我开始需要在2个或更多组件中使用某个函数,这意味着现在我必须复制并将其放置在其他组件中。这显然不是最优的,所以我想知道应该把这些函数放在哪里。为了向您展示我所说的通用实用程序函数的含义,我将在此处添加一个: winrate(wins, losses) { let games = wins + losses return Math.round(wins * 100 / games) + '%' } 没什么特别的,它只接受赢和输,然后

通常我在组件中创建函数,该组件将使用函数,但是,我开始需要在2个或更多组件中使用某个函数,这意味着现在我必须复制并将其放置在其他组件中。这显然不是最优的,所以我想知道应该把这些函数放在哪里。为了向您展示我所说的通用实用程序函数的含义,我将在此处添加一个:

winrate(wins, losses) {
    let games = wins + losses
    return Math.round(wins * 100 / games) + '%'
}
没什么特别的,它只接受赢和输,然后返回赢的比率


我正在使用Vuex,实际上我可以将它们放在Vuex存储中,但是,我不确定这是否是最好的选择,所以这就是我为什么要问你们的原因。

通常的做法是将这些函数(称为helpers)存储在文件中,例如
helpers.js
utils.js
,哪些代码看起来像这样:

导出函数winrate(赢、输){
让游戏=赢+输
返回数学回合(赢*100/场)+'%
}
然后只需在组件中导入该辅助对象:

import{winrate}from./path/to/helpers.js`
导出默认值{
...
方法:{
方法(){
console.log(winrate(1,2))
}
}
...
}

通常的做法是将这些函数(称为helpers)存储在文件中,如
helpers.js
utils.js
,其中的代码可能如下所示:

导出函数winrate(赢、输){
让游戏=赢+输
返回数学回合(赢*100/场)+'%
}
然后只需在组件中导入该辅助对象:

import{winrate}from./path/to/helpers.js`
导出默认值{
...
方法:{
方法(){
console.log(winrate(1,2))
}
}
...
}

这似乎是个不错的选择。出于好奇,在组件中创建函数和在助手中创建函数,然后导入它之间在性能方面会有什么区别吗?我认为不会,因为导入该助手时,它总是相同的,因此不会一次又一次地创建。与其将其存储在不同的组件中,每个组件都将有其方法的独立副本。这似乎是一个不错的选择。出于好奇,在组件中创建函数和在助手中创建函数,然后导入它之间在性能方面会有什么区别吗?我认为不会,因为导入该助手时,它总是相同的,因此不会一次又一次地创建。每个组件都有其方法的独立副本,而不是将其存储在不同的组件中。