Mvvm 在“.vue”组件分离/就绪函数中显式调用vuex操作

Mvvm 在“.vue”组件分离/就绪函数中显式调用vuex操作,mvvm,ecmascript-6,vuex,vue.js,Mvvm,Ecmascript 6,Vuex,Vue.js,我正在我的项目中尝试vue js和vuex 我已经定义了一个store.js: import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex); const state = { user: {} }; const mutations = { SET_CURRENT_USER (state, data) { state.user = data; } }; export default new V

我正在我的项目中尝试vue js和vuex

我已经定义了一个
store.js

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex);

const state = {
    user: {}
};

const mutations = {
    SET_CURRENT_USER (state, data) {
        state.user = data;
    }
};

export default new Vuex.Store({
    state,
    mutations
});
export const readCurrentUser = function({dispatch, state}) {
    let api = require('../api/resources');
    api.User.get({
        action: 'current'
    }).then(function(response) {
        dispatch('SET_CURRENT_USER', response.data);
    });
};
和我的
actions.js

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex);

const state = {
    user: {}
};

const mutations = {
    SET_CURRENT_USER (state, data) {
        state.user = data;
    }
};

export default new Vuex.Store({
    state,
    mutations
});
export const readCurrentUser = function({dispatch, state}) {
    let api = require('../api/resources');
    api.User.get({
        action: 'current'
    }).then(function(response) {
        dispatch('SET_CURRENT_USER', response.data);
    });
};
然后,在我的
App.vue
组件中:

<template>
    <a @click="readCurrentUser">read current user</a>
</template>

<script>
    import store from '../vuex/store'
    import { readCurrentUser } from '../vuex/actions'

    export default {
        replace: false,
        store: store,
        data: function () {
            return {
            };
        },
        vuex: {
            actions: {
                readCurrentUser: readCurrentUser
            }
        },
        attached: function() {
            // !!!!  HERE IS THE POINT !!!!
            // How can I trigger `readCurrentUser` action here?
        }
    }
</script>

读取当前用户
从“../vuex/store”导入存储
从“../vuex/actions”导入{readCurrentUser}
导出默认值{
替换:false,
店:店,,
数据:函数(){
返回{
};
},
vuex:{
行动:{
readCurrentUser:readCurrentUser
}
},
附:函数(){
//!!!!重点就在这里!!!!
//如何在此处触发'readCurrentUser'操作?
}
}
在上述情况下,当我单击
时,操作按预期启动


但我希望每次附加应用时都能触发动作,我该怎么做呢?

最后,我发现解决方案非常简单

因为
vuex.actions
方法将在当前vm对象上注册

因此,呼吁:

attached: function() {
    this.readCurrentUser();
}
真管用