3

标签(空格分隔): vue


在actions里面触发内部的actions方法

actions: {
        addAction(context) {
            // context 是一个对象
            setTimeout(() => {
                context.commit('addIncrement', { n: 5 })
                context.dispatch('shudongAction') //在这里触发
            }, 1000)
        },
        shudongAction() {
            console.log("hi stark");
        }
    }

在actions里面触发内部actions方法传参

 actions: {
        addAction(context) {
            // context 是一个对象
            setTimeout(() => {
                context.commit('addIncrement', { n: 5 })
                    // context.dispatch('shudongAction')
                context.dispatch('shudongAction', { name: 'stark', age: 18, sex: 'man' })
            }, 1000)
        },
        shudongAction(context, stark) {
            console.log(stark);
            console.log(stark.name);
            console.log("hi stark");
        }
    }

可以利用es6的解构赋值的方式来操作 在这个actions里面的函数接收的context对象打印有很多方法

当我们使用这么多方法的时候可以利用es6的解构赋值的方式来操作

image_1bs7usr1p1r4e1q1p17sh1f4u1cho9.png-22.4kB

        addAction({ commit, dispatch }) {
            console.log(context);
            // context 是一个对象
            setTimeout(() => {
                commit('addIncrement', { n: 5 })    
                dispatch('shudongAction', { name: 'stark', age: 18, sex: 'man' })
            }, 1000)
        }
    }

西树先森
7.1k 声望926 粉丝

从事开发多年,前端、后端(go、Python、php)、服务架构都有涉猎,经历过大公司、创业公司,擅长前端及公司技术选型。