vue项目,两个组件里的方法完全相同,怎么抽离出来共用,hanldeFollow (record) { productApi.doFollow({ iid: record.productId, module: this.module }).then(res => { if (res.success) { this.$message.success('关注成功') this.$refs.table.refresh() } }) }
时间: 2024-02-24 12:59:23 浏览: 54
vue等两个接口都返回结果再执行下一步的实例
可以将这个方法抽离出来,定义在一个公共的地方,比如可以在一个单独的 js 文件中定义一个 mixin,然后在需要使用这个方法的组件中引入这个 mixin。具体的做法如下:
1. 在一个单独的 js 文件中定义一个 mixin,比如可以定义在一个名为 commonMixin.js 的文件中:
```
export default {
methods: {
handleFollow(record) {
productApi.doFollow({ iid: record.productId, module: this.module }).then(res => {
if (res.success) {
this.$message.success('关注成功')
this.$refs.table.refresh()
}
})
}
}
}
```
2. 在需要使用这个方法的组件中引入这个 mixin:
```
import commonMixin from '@/commonMixin.js'
export default {
mixins: [commonMixin],
// ...
}
```
这样,这个组件就可以直接使用 `handleFollow` 方法了。如果另一个组件也需要使用这个方法,也可以同样地引入这个 mixin 即可。
阅读全文