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 21:59:45 浏览: 75
vue组件如何被其他项目引用
5星 · 资源好评率100%
你可以将这个方法封装成一个 mixin,然后在需要使用的组件中引入这个 mixin 即可。
具体步骤如下:
1. 创建一个 mixin 文件,命名为 `followMixin.js`,并将 `handleFollow` 方法放入其中:
```javascript
import productApi from '@/api/productApi'
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. 在需要使用 `handleFollow` 方法的组件中引入 `followMixin.js`:
```javascript
import followMixin from '@/mixins/followMixin'
export default {
mixins: [followMixin],
// ...
}
```
3. 在组件中使用 `handleFollow` 方法:
```javascript
<el-button type="primary" @click="handleFollow(record)">关注</el-button>
```
这样,你就可以在多个组件中共用 `handleFollow` 方法了。
阅读全文