91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue-router如何安裝與使用

發布時間:2022-08-11 09:57:20 來源:億速云 閱讀:640 作者:iii 欄目:編程語言

本篇內容主要講解“vue-router如何安裝與使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“vue-router如何安裝與使用”吧!

vue-router如何安裝與使用

vue-router的安裝與使用

一、安裝

步驟1:安裝vue-router

npm install vue-router --save

步驟2:在模塊化工程中使用它(因為是一個插件,所以可以通過Vue.use()來安裝路由功能)

  1. 導入路由對象,并調用Vue.use(VueRouter)

  2. 創建路由實例,并傳入路由映射配置

  3. Vue實例掛載創建的路由實例


二、使用

vue-router如何安裝與使用

創建的router的配置文件在src下的router文件夾下的index.js文件中

index.js中內容如下:

vue-router如何安裝與使用

注:雖然在這里已經注冊了router,但是其需要被掛在在vue上,才能起作用。

掛載方法:

在src文件下的main.js中引入router,并掛載在vue實例上。

//main.js
import Vue from 'vue'
import App from './App'
import router from './router'


Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  render: h => h(App)
})

實際使用案例:

App.vue中關鍵配置如下:

<template>
  <div id="app">
    <h3>我是app組件</h3>
    
    <!-- 通過router自帶標簽實現 -->
    <router-link to='/home' tag="button" replace active-class="active">首頁</router-link>
    <router-link to='/about' tag="button" replace active-class="active">關于</router-link> 
    <router-link :to="'/user/'+userId" tag="button" active-class='active'>用戶</router-link>
    <router-link :to="{path:'/profile',query:{name:'yzk',age:18,height:1.88}}">檔案</router-link>
    <!-- <router-link to='/home' tag="button" replace>首頁</router-link>
    <router-link to='/about' tag="button" replace >關于</router-link>-->

    <!-- 通過代碼跳轉 -->
    <!-- 
    <button @click="homeClick">首頁</button>
    <button @click="aboutClick">關于</button> 
    -->
    <keep-alive>
      <router-view></router-view>
    </keep-alive>

    <button @click="userClick">用戶2</button>
    <button @click="profileClick">檔案</button>
  </div>
</template>

<script>
export default {
  name: "App",
  data(){
    return{
      userId:'yzk'
    }
  },
  methods: {
    aboutClick() {
      // 通過代碼的方式修改路由 vue-router
      // 不能如下操作:此操作會繞過路由進行修改,違背初衷
      // history.pushState({},'','home')
      // this.$router.push("/home");
      this.$router.replace("/home");
      console.log("about");
    },
    homeClick() {
      // this.$router.push("/about");
      this.$router.replace("/about");
      console.log("home");
    },
    userClick(){
      this.$router.push('/user/'+this.userId);
    },
    profileClick(){
      this.$router.push({
        path:'/profile',
        query:{
          name:'kobe',
          age:18,
          height:1.98
        }
      })
    }
  },
};
</script>

<style>
.router-link-active {
  color: red;
}
.active {
  color: pink;
}
</style>

Router的index.js文件如下:

// 配置路由信息
import Vue from 'vue'
import VueRouter from 'vue-router'
// import Home from '../components/Home'
// import About from '../components/About'
// import User from '../components/User'

// 懶加載,提高效率(因為app.js文件中集成了所有的業務代碼,因此請求事件可能較長
// 通過將app.js分隔,在需要使用某些js代碼的時候,才接收其代碼)
const Home = () => import('../components/Home')
const HomeNews = () => import('../components/HomeNews')
const HomeMessage = () => import('../components/HomeMessage')

const About = () => import('../components/About')
const User = () => import('../components/User')
const Profile = () => import('../components/Profile')



// 1.通過Vue.use(插件),安裝插件
Vue.use(VueRouter)

// 2.創建VueRouter對象
const routes = [
  {
    path: '',
    //  component: Home
    // 重定向redirect
    redirect: '/home'
  },
  {
    path: '/home',
    component: Home,
    meta: { title: "首頁" },
    children: [
      {
        path: '',
        redirect: 'news'
      },
      {
        path: 'news',
        //  注意這里是沒有s的!!!
        component: HomeNews,

      },
      {
        path: 'message',
        component: HomeMessage
      },
    ]
  },
  {
    path: '/about',
    component: About,
    meta: { title: "關于" },
  },
  {
    path: '/user/:userId',
    component: User,
    meta: { title: "用戶" },
  },
  {
    path: '/profile',
    component: Profile,
    meta: { title: "檔案" },
  }
]
const router = new VueRouter({
  // 配置路由和組件間的映射關系
  routes,
  mode: 'history',
  linkActiveClass: 'active'
})

// 3.將router對象傳入到Vue實例中
export default router

// 導航守衛 前置鉤子
router.beforeEach((to, from, next) => {
  document.title = to.matched[0].meta.title
  console.log('+++');
  next()
})

// 導航守衛, 后置鉤子 不需要調用next函數
router.afterEach((to,from) => {
  console.log('----');
})

main.js中的掛載:

import Vue from 'vue'
import App from './App'
import router from './router'


Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  render: h => h(App)
})

到此,相信大家對“vue-router如何安裝與使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吴堡县| 北辰区| 左贡县| 梨树县| 田东县| 金沙县| 仙桃市| 莱芜市| 定远县| 天长市| 满洲里市| 松原市| 通道| 江门市| 大兴区| 台东县| 彭泽县| 双流县| 绥宁县| 成都市| 谢通门县| 汽车| 林甸县| 牙克石市| 泰兴市| 博罗县| 郯城县| 高淳县| 拜泉县| 新昌县| 高平市| 阿克陶县| 南溪县| 建德市| 赤城县| 绥江县| 南澳县| 武安市| 郴州市| 沂南县| 当雄县|