如何在组件A中调用组件B的方法
运用vuex,将组件B的方法放在vuex中,在相应组件调用vuex定义的方法和变量即可即可,具体实现方法如下:
1.在store文件下的app.js的文件写进以下代码:
state: { auditTotal: ' ' }
mutations: {
SET_AUDIT_TOTAL(state, total) {
state.auditTotal = total;
}
},
actions: {
async getAuditTotal({ commit },data) {
let vm = this;
//写在组件B的接口函数,放在vuex中
let res = await req.doRequest({
alias: "dcs-notification-getTotal"
})
commit('SET_AUDIT_TOTAL',res.data)
}
},
2.在组件A调用:
先引入vuex变量:import { mapActions } from “vuex”;
再在methods中写入vuex的actions方法:
methods: {
…mapActions([‘getAuditTotal’]),
}
最后在需要用到getAuditTotal方法的地方调用this.getAuditTotal()即可
3.在组件B调用:
1)引入vuex变量
import { mapActions,mapState } from “vuex”;
2)引入state变量
computed: {
…mapState({
auditTotal: (state) => state.app.auditTotal,
}),
},
3)在dom上调用state变量auditTotal
4) 在methods中写入vuex的actions方法:
methods: {
…mapActions([‘getAuditTotal’]),
}
4)在mounted里调用this.getAuditTotal()