<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • vue.js路由與vuex數據模型設計

    2020-5-23    seo達人

    路由設計

    本則路由考慮驗證進入登錄頁面,完成登錄操作進入首頁。


    import Vue from "vue";

    import Router from "vue-router";

    Vue.use(Router);


    import store from "@/store/store";


    // (延遲加載)

    const Login = () => import("@/views/login");

    const Home = () => import("@/views/home");


    const HomeRoute = {

     path: "/",

     name: "首頁",

     component: Home

    };


    export { HomeRoute };


    const router = new Router({

     base: process.env.BASE_URL,

     routes: [

       {

         path: "/login",

         name: "登錄",

         component: Login

       },

       HomeRoute

     ]

    });


    router.beforeEach((to, from, next) => {

     let loginName = store.state.user.loginName;

     if (to.path === "/" && loginName == "") {

       next("/login");

     } else {

       next();

     }

    });


    export default router;

    數據模型

    const state = {

     loginName: ""

    };

    const mutations = {

     SET_LOGINNAME(state, loginName) {

       state.loginName = loginName;

     }

    };

    const actions = {

     login({ commit }, userInfo) {

       return new Promise((res, ret) => {

         commit("SET_LOGINNAME", userInfo);

         res();

       });

     },

     logout({ commit }) {

       return new Promise((res, ret) => {

         commit("SET_LOGINNAME", "");

         res();

       });

     }

    };

    export default {

     namespaced: true,

     state,

     mutations,

     actions

    };

    import Vue from "vue";

    import Vuex from "vuex";

    Vue.use(Vuex);


    import user from "./modules/user";


    const store = new Vuex.Store({

     modules: {

       user

     }

    });


    export default store;

    組件

    <div class="modify">

     <input

       type="text"

       @keydown.enter.prevent="handleKeydown"

       v-model="currentVal"

       placeholder="使用enter鍵切換頻道"

     />

     <button @click="reset" style="margin-left:5px;outline:none;cursor:pointer;">復位</button>

    </div>

    import { mapState, mapMutations, mapActions } from "vuex";

    export default {

     name: "login",

     data() {

       return {

         currentVal: "",

         list: ["咨詢服務", "音悅臺", "體育臺", "財經頻道", "時尚資訊"],

         index: 0

       };

     },

     computed: {

       ...mapState({

         loginName: state => state.user.loginName

       })

     },

     methods: {

       ...mapActions({

         login: "user/login"

       }),

       handleToHome() {

         let userInfo = "user";

         this.login(userInfo);

         this.$router.push({

           path: "/"

         });

       },

    日歷

    鏈接

    個人資料

    藍藍設計的小編 http://www.skdbbs.com

    存檔

    主站蜘蛛池模板: 久久久久九九精品影院| 欧洲精品99毛片免费高清观看| 在线精品亚洲一区二区三区| 国产精品狼人久久久久影院| 国产一区二区精品尤物| 无码国产精品一区二区免费16 | 国产精品香蕉在线观看| 国产亚洲精品美女久久久| 久久精品这里只有精99品| 国产亚洲综合成人91精品| 久久精品亚洲中文字幕无码麻豆 | 国产午夜精品久久久久九九电影| 丰满人妻熟妇乱又仑精品| 亚洲精品国产精品乱码不卡| 亚州日韩精品专区久久久| 亚洲国产精品无码久久SM| 久久精品国产亚洲Aⅴ香蕉| 99精品福利国产在线| 国产精品久久久久久福利69堂| 久久亚洲欧美国产精品| 中文成人无字幕乱码精品区| 国产午夜无码精品免费看| 亚洲国产人成精品| 人妻VA精品VA欧美VA| 国产乱码精品一区二区三区中文 | 91精品全国免费观看青青| 久久99精品久久久久久hb无码 | 久久精品成人影院| 国产精品推荐天天看天天爽| 99久久精品国产一区二区蜜芽| 久久精品一区二区三区不卡| 国产精品视频a播放| 国产精品久久国产精品99盘| 精品国产美女福利到在线不卡| 国产精品视频一区二区三区| 国产精品欧美日韩| 国产91精品在线观看| 国产精品久久久久久久久| 欧美激情精品久久久久| 欧美性videofree精品| 日韩精品免费在线视频|