有几个组件里都使用了一些方法,都写在methods里了。
这些方法里用了很多data里的变量,有很多this.xxx this.yyy this.zzz等等,大概有10个变量。
我想把这些方法提出来放到一个js里,然后import到vue组件里。
但这些方法内部的变量怎么提取出来呢?
都通过传参传进去吗?
Vue2x 最好的办法就是使用mixin
如果需要传参的mixin可以使用以下方法
export default rightType => ({ // rightType作为参数传入,返回特定mixin
data() {
return {
xxx:'1'
}
},
computed: {
hasRight() { // 判断用户是否有权限进入本页面的计算属性
// 这里的user是之前在app中通过接口返回注入store的用户信息
const { rightList } = this.$store.state.user;
return rightList.indexOf(rightType); // 问题解决,美滋滋
}
},
methods: {
zzz() {
}
}
})
当然现在vue3x的出现就是为了解决你说的问题,使用compisition Api,把逻辑组合到一个hooks中,直接导入就好了showtooltip