zoukankan      html  css  js  c++  java
  • 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 ,运行成功~~~~

    通过这件事,以后写前端的这些代码一定要小心,仔细!
  • 相关阅读:
    VINS_Fusion IMU数据处理过程
    SLIC聚类算法
    视觉SLAM十四讲(第二版)第五讲笔记
    视觉SLAM十四讲(第二版)第四讲笔记
    视觉SLAM十四讲(第二版)第三章笔记
    g++命令总结
    第二次冲刺第一天
    11月21日
    11月20日
    11月19日
  • 原文地址:https://www.cnblogs.com/meiyh/p/6811545.html
Copyright © 2011-2022 走看看