<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

    存檔

    主站蜘蛛池模板: 亚洲精品中文字幕无码蜜桃| 国产精品免费大片| 中文无码久久精品| 国产精品欧美久久久久无广告| 国产精品对白交换视频| 亚洲七七久久精品中文国产 | 91麻豆精品一二三区在线| 成人区精品一区二区不卡 | 国产精品视频不卡| 欧美一区二区精品久久| 久久99国内精品自在现线| 中文国产成人精品久久不卡| 久久精品人妻一区二区三区| 一区二区三区四区精品视频| 国产精品一区二区不卡| 国产精品多人p群无码| 久久国产精品99国产精| 亚洲中文字幕无码久久精品1| 欧美成人精品欧美一级乱黄一区二区精品在线 | 69堂国产成人精品视频不卡 | 精品一区二区久久| 成人精品视频99在线观看免费| 午夜不卡久久精品无码免费| 亚洲AV无码成人精品区狼人影院| 久久精品无码一区二区三区免费| 国产精品免费视频观看拍拍| 成人国内精品久久久久影院VR| 久久精品国产一区二区三区日韩| 国产日韩欧美精品| 久久精品国产影库免费看| 99久久成人国产精品免费| 国内精品久久久久伊人av| 久久99国产乱子伦精品免费| 国产精品网站在线观看免费传媒| 国内精品久久久久伊人av| 2020久久精品国产免费| 91精品国产高清久久久久久io| 国产精品久久久久9999高清| 久久精品国产秦先生| 99久久国产综合精品五月天喷水| 国产精品 视频一区 二区三区|