Heim  >  Artikel  >  Web-Frontend  >  Beherrschen Sie die Installation und Verwendung von Vue-Router in einem Artikel

Beherrschen Sie die Installation und Verwendung von Vue-Router in einem Artikel

WBOY
WBOYnach vorne
2022-08-10 17:55:162005Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über vue, das hauptsächlich das relevante Wissen über die Installation und Verwendung von Vue-Router vorstellt. Ich hoffe, es wird für alle hilfreich sein.

Beherrschen Sie die Installation und Verwendung von Vue-Router in einem Artikel

【Verwandte Empfehlungen: Javascript-Video-Tutorial, vue.js-Tutorial

Installation und Verwendung des Vue-Routers

1. Installation

Schritt 1: Vue-Router installieren

npm install vue-router --save

Schritt 2: Verwenden Sie es in einem modularen Projekt (da es sich um ein Plug-In handelt, können Sie die Routing-Funktion über Vue.use() installieren)


  1. 2. Verwenden Sie

    Vue.use(VueRouter)

  2. 创建路由实例,并传入路由映射配置

  3. Vue实例挂载创建的路由实例


二、使用

Beherrschen Sie die Installation und Verwendung von Vue-Router in einem Artikel

创建的router的配置文件在src下的router文件夹下的index.js文件中

index.js中内容如下:

Beherrschen Sie die Installation und Verwendung von Vue-Router in einem Artikel

注:虽然在这里已经注册了router,但是其需要被挂在在vue上,才能起作用。

挂载方法:

在src文件下的main.js中引入router,并挂载在vueBildbeschreibung hier einfügen

Die Konfigurationsdatei des erstellten Routers befindet sich in der Datei index.js im Ordner router unter src

Der Inhalt in index.js lautet wie folgt:

Bildbeschreibung einfügen hier

Hinweis: Obwohl der Router hier registriert wurde, muss er an Vue angeschlossen sein, damit er funktioniert.

Montagemethode:

🎜Fügen Sie router in main.js unter der src-Datei ein und mounten Sie es auf der übergeordneten vue-Instanz. 🎜
//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)
})
🎜Tatsächlicher Anwendungsfall: 🎜🎜Die Schlüsselkonfiguration in App.vue lautet wie folgt: 🎜
<template>
  <div>
    <h2>我是app组件</h2>
    
    <!-- 通过router自带标签实现 -->
    <router-link>首页</router-link>
    <router-link>关于</router-link> 
    <router-link>用户</router-link>
    <router-link>档案</router-link>
    <!-- <router-link to=&#39;/home&#39; tag="button" replace>首页</router-link>
    <router-link to=&#39;/about&#39; tag="button" replace >关于</router-link>-->

    <!-- 通过代码跳转 -->
    <!-- 
    <button @click="homeClick">首页</button>
    <button @click="aboutClick">关于</button> 
    -->
    <keep-alive>
      <router-view></router-view>
    </keep-alive>

    <button>用户2</button>
    <button>档案</button>
  </div>
</template>

<script>
export default {
  name: "App",
  data(){
    return{
      userId:&#39;yzk&#39;
    }
  },
  methods: {
    aboutClick() {
      // 通过代码的方式修改路由 vue-router
      // 不能如下操作:此操作会绕过路由进行修改,违背初衷
      // history.pushState({},&#39;&#39;,&#39;home&#39;)
      // 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(&#39;/user/&#39;+this.userId);
    },
    profileClick(){
      this.$router.push({
        path:&#39;/profile&#39;,
        query:{
          name:&#39;kobe&#39;,
          age:18,
          height:1.98
        }
      })
    }
  },
};
</script>

<style>
.router-link-active {
  color: red;
}
.active {
  color: pink;
}
</style>
🎜Die index.js-Datei des Routers lautet wie folgt: 🎜
// 配置路由信息
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('----');
})
🎜Mounting in 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)
})
🎜[Verwandte Empfehlungen: 🎜Javascript-Video-Tutorial 🎜、🎜vue.js-Tutorial🎜】🎜

Das obige ist der detaillierte Inhalt vonBeherrschen Sie die Installation und Verwendung von Vue-Router in einem Artikel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen