vuex+vue-resource怎么结合起来使用啊

vuex+vue-resource怎么结合起来使用啊 怎么把父组件异步过来的data共享给所有子组件 怎么传data啊

阅读 8k
3 个回答

我的处理是,我会把需要同步数据的异步请求写在vuex的action中
由父组件调用action,在action中把异步请求得到的数据dispatch到具体的state以更新数据
这样所有子控件只要有使用到state中数据都会更新

// actions.js
// 父组件调用这个action
export const getData = ({ dispatch }) => {
    Vue.http.get(url, { req: 'req body' }).then((res) => {
        // 正常返回, 别忘了处理错误
        dispatch(REFRESH_DATA, res.data)
    }, (err) => {
        alert(err.message)
    })
}
// ........
// store.js
const state = {
    data: null
}

const mutations = {
    [REFRESH_DATA] (state, data) {
        state.data = data
    }
}
// ......

// 各个需要更新数据的子控件.vue
// ....
export default {
    // ....
    vuex: {
        getters: {
            data: ({ data }) => data
        }
    },
    // .....
}
// ....
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏