粗大的内捧猛烈进出小视频,日本成人精品视频一区,在线播放亚洲成人av,精品人妻少妇嫩草av专区,亚洲AV永久久久久久久浪潮,性导航app精品视频,九九热精品免费视频,一本一本大道香蕉久在线播放

        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.xintaizi.com

        存檔