有这样的三个组件,既不是父子组件也不是兄弟组件,但是他们三个组件都用到了一些公共的方法:
在Tset组件中用到了停止这个方法
LogDetail和Monitoring中也用到了了这个方法
然而目前的形式是同样一份代码 我已经在不同的组件中copy可三份
代码可读性差,难以维护且臃肿万分
请问如何将其抽取,加以复用?
有这样的三个组件,既不是父子组件也不是兄弟组件,但是他们三个组件都用到了一些公共的方法:
在Tset组件中用到了停止这个方法
LogDetail和Monitoring中也用到了了这个方法
然而目前的形式是同样一份代码 我已经在不同的组件中copy可三份
代码可读性差,难以维护且臃肿万分
请问如何将其抽取,加以复用?
Vue本身有解决方案:混入mixins
只需要一个js或者vue文件导出包含这个方法的对象
export default {
methods: {
commonFunc () {
// xxx
}
}
}
Vue文件引入并通过mixins混入,之后就可以和正常method一样使用。
<script>
import common from xxx
export default {
mixins: [common]
}
</script>
13 回答13k 阅读
7 回答2.2k 阅读
9 回答1.7k 阅读✓ 已解决
6 回答1.6k 阅读
3 回答1.3k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决