Vue中mapMutations映射方法的问题

今天又被自己给蠢到,找了半天没发现问题。大家看下代码。

mutation-types.js 里我新增了一个类型。INIT_CURRENTORDER

复制代码
 export const GET_USERINFO = 'GET_USERINFO'
 export const OUT_LOGIN = 'OUT_LOGIN'
 export const GET_ORDER = 'GET_ORDER'
 export const GET_ORDERDETAIL = 'GET_ORDERDETAIL'
 export const RECORD_USERINFO = 'RECORD_USERINFO'
 export const INIT_FRONT = 'INIT_FRONT'
 export const INIT_CURRENTORDER = 'INIT_CURRENTORDER'
复制代码

mutations.js里也增加了一个对应的事件

复制代码
[INIT_CURRENTORDER](state) {

let order = getStore('currentOrder');
if (order) {
   state.currentOrder = JSON.parse(order);
}
},
复制代码

到目前都没有错,都是正确的。下面前台调用

复制代码
 method:{
        ...mapMutations([ 
            'INIT_CURRENTORDER',
        ]),
        async getList(orderid){
            this.feedlist=await getFeedbackList(orderid);
            console.log(this.feedlist);
        },
        changeState(){

        }
    },
     mounted(){   
        this.INIT_CURRENTORDER();
        if(this.currentOrder){
            this.getList(this.currentOrder.orderid);
        }else{
            console.log(this.currentOrder)
        }
    }
复制代码

大家有看出错误吗?每次一运行就报

 this.INIT_CURRENTORDER is not function
思来想去,也检查了,都是写了啊,怎么会报not function,真是出了鬼了。

本来第一个想到的是函数名写错了,但是我的函数名全是复制粘贴的啊,难道
mounted()里不能调用mutations,不会啊,mounted()是Vue生命周期的后期了,模板中html已经开始渲染到html页面中了,所以肯定不是了。

就在我低头丧气趴在桌子上的时候,眼睛瞟了一下method 卧槽,我知道了,这个关键字写错了,应该是 methods:

想着立马敲入一个s, npm run dev ,运行成功~~~~

通过这件事,以后写前端的这些代码一定要小心,仔细!

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值