• Vuex使用流程


    1.可以devDependencies安装:npm install vuex -D

    "vuex": "^3.6.2"
     
    2.创建store文件src/store/index.js或者src/store.js
    import Vue from "vue";
    import Vuex from "vuex";
    
    Vue.use(Vuex);
    
    import travel from "./modules/travel";
    import goods from "./modules/goods";
    
    import * as api from "../api";
    
    export default new Vuex.Store({
        state: {
            pubInfo: [],
        },
        mutations: {
            SET_PUB_INFO(state, pubInfo) {
                state.pubInfo = pubInfo;
            },
        },
        actions: {
            getPubInfo({ commit }) {
                console.log("getPubInfo");
                return api
                    .requestPubInfo()
                    .then((res) => {
                        console.log("getPubInfo-success");
                        if (res.rtnCode === "success") {
                            commit("SET_PUB_INFO", res.data);
                            return Promise.resolve(res.data);
                        } else {
                            return Promise.reject(null);
                        }
                    })
                    .catch((error) => {
                        console.log("getPubInfo-error");
                        return Promise.reject(error);
                    });
            },
        },
        modules: {
            travel,
            goods,
        },
    });
    

      引入并使用vuex,实例化一个store对象并抛出,上面是一个例子。

    3.引入到src/main.js,并注入到Vue实例:

    import Vue from "vue";
    import App from "./App.vue";
    import router from "./router";
    import store from "./store";
    
    import "amfe-flexible/index"; //设置font-size为 deviceWidth / 10,配合postcss-adaptive-exclude使用
    // import 'amfe-flexible'
    
    import * as api from "./api";
    Vue.prototype.$api = api;
    Vue.config.productionTip = false;
    
    new Vue({
        router,
        store,
        render: (h) => h(App),
    }).$mount("#app");
    

      

    4.使用:

    import { mapState } from "vuex";
    
    //.....
    computed: {
            ...mapState({
                pubInfo: (state) => state.pubInfo,
            }),
        },
    

      或者:

    created() {
            this.$store
                .dispatch("travel/getTravel", "test-params")
                .then((res) => {
                    console.log("res:", res);
                    if ("success" == res.rtnCode) {
                        this.travel = res.data;
                    }
                })
                .catch((e) => {
                    console.log("e:", e);
                });
        },
    

      

    工欲善其事 必先利其器
  • 相关阅读:
    VB.NET中vbcr 是回车、vbcrlf 是回车和换行的结合、vblf 是换行
    COM组件简介
    【转】ACE编程小结
    socket基础实例(一个服务端对应一个客户端情形)
    服务器中判断客户端socket断开连接的方法
    阻塞、非阻塞的概念和select函数的阻塞功能
    socket基础函数(2)
    线程初级基础(一)
    给程序员的五点建议--如何成为编程高手并以此创业
    Linux下常用软件
  • 原文地址:https://www.cnblogs.com/fengyouqi/p/14437547.html
Copyright © 2020-2023  润新知