• <center id="sm46c"></center>
  • <dfn id="sm46c"></dfn>
  • <strike id="sm46c"></strike>
  • <cite id="sm46c"><source id="sm46c"></source></cite>
    • <strike id="sm46c"><source id="sm46c"></source></strike>
      <option id="sm46c"></option>
      国产精品天天看天天狠,女高中生强奷系列在线播放,久久无码免费的a毛片大全,国产日韩综合av在线,亚洲国产中文综合专区在,特殊重囗味sm在线观看无码,中文字幕一区二区三区四区在线,无码任你躁久久久久久老妇蜜桃

      vue.js路由與vuex數(shù)據(jù)模型設(shè)計

      2020-5-23    seo達(dá)人

      路由設(shè)計

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


      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;

      數(shù)據(jù)模型

      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;">復(fù)位</button>

      </div>

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

      export default {

       name: "login",

       data() {

         return {

           currentVal: "",

           list: ["咨詢服務(wù)", "音悅臺", "體育臺", "財經(jīng)頻道", "時尚資訊"],

           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: "/"

           });

         },

      日歷

      鏈接

      個人資料

      存檔

      主站蜘蛛池模板: 在线精品国精品国产尤物| 国产精品美女网站| 国产97在线 | 亚洲| 98日韩精品人妻一二区| 久久99热精品免费观看欧美| 国产亚洲欧美日韩在线一区| 天天躁夜夜躁狠狠综合| 久久精品国产九一九九九 | 成人在线91| 最新亚洲人成网站在线影院| 亚洲中文字幕无码久久2018 | 无码AV无码免费一区二区| 亚洲第一精品福利| 少妇无码一区二区三区免费 | 精品九九人人做人人爱| 亚洲欧美精品在线| 日本55丰满熟妇厨房伦| 一区二区三区四区高清自拍| 日本精品一区二区三区在线视频 | 久久夜色精品亚洲国产av| 偷拍精品一区二区三区| 人妻丰满av无码中文字幕| 国内久久婷婷五月综合色| 国产无遮挡免费视频免费| 欧美亚洲国产精品久久蜜芽直播| 天天综合色一区二区三区| 国产微拍一区二区三区四区| 国精品人妻无码一区免费视频电影| 亚洲精品久久久久久久观看| 18禁成人免费无码网站| 国产成人无码免费网站| 伊人色综合久久天天| 久青草国产97香蕉在线视频| 国产精品99无码一区二区| 中文岛国精品亚洲一区| 国产精品剧情亚洲二区| 久草热久草热线频97精品| 国产精品中文字幕久久 | 国产免费人成在线视频| 亚洲欧洲AV系列天堂日产国码| 伊人久久大香线蕉亚洲五月天|