当前位置:首页 > 行业动态 > 正文

vue如何切换路由

Vue中切换路由的方法有很多,其中一种是使用vue-router。 vue-router是一个第三方的包,需要下载后才能使用。在main.js中引入VueRouter函数,然后添加到Vue.use()身上,即可注册全局RouterLink。

Vue.js 是一个流行的前端 JavaScript 框架,它可以帮助开发者构建交互式 Web 界面,Vue.js 使用基于组件的开发模式,这使得开发过程更加模块化和可维护,在 Vue.js 中,路由是实现单页面应用(SPA)的重要组成部分,本文将详细介绍如何在 Vue.js 中切换路由。

什么是路由?

路由是一种导航方式,它可以根据用户在浏览器中的操作(如点击链接、输入 URL 等)来加载不同的页面或组件,在 Vue.js 中,我们可以使用 Vue Router 这个官方提供的路由库来实现路由功能。

如何安装和配置 Vue Router?

1、确保你已经安装了 Node.js 和 npm,在项目根目录下运行以下命令来安装 Vue Router:

npm install vue-router

2、在项目的 src 目录下创建一个名为 router 的文件夹,在 router 文件夹中,创建一个名为 index.js 的文件,用于配置路由。

3、在 src/router/index.js 文件中,首先导入 Vue 和 Vue Router:

import Vue from 'vue';
import VueRouter from 'vue-router';

4、接着,使用 Vue.use() 方法来启用 Vue Router:

Vue.use(VueRouter);

5、定义路由规则,这里我们需要导入一些组件(如 Home.vue、About.vue 等),并为它们配置路由路径。

import Home from '@/components/Home.vue';
import About from '@/components/About.vue';
const routes = [
  { path: '/', component: Home },
  { path: '/about', component: About }
];

6、创建一个 Vue Router 实例,并将路由规则传递给它:

const router = new VueRouter({
  routes
});

7、将 Vue Router 实例导出:

export default router;

8、在项目的 src/main.js 文件中,引入刚刚创建的 router 实例,并将其添加到 Vue 实例中:

import Vue from 'vue';
import App from './App.vue';
import router from './router';
new Vue({
  router,
  render: h => h(App)
}).$mount('app');

至此,我们已经完成了 Vue Router 的安装和配置,接下来,我们将在项目中使用这些路由规则。

如何在 Vue.js 中使用路由?

1、在项目的 src/App.vue 文件中,使用 <router-view> 标签来显示当前路由对应的组件。

<template>
  <div id="app">
    <nav>
      <router-link to="/">Home</router-link> | <router-link to="/about">About</router-link> | <router-link to="/contact">Contact</router-link>
    </nav>
    <router-view></router-view>
  </div>
</template>

2、在需要进行路由跳转的地方,使用 <router-link> 标签来创建导航链接。

<router-link to="/about">Go to About</router-link> | <router-link to="/contact">Go to Contact</router-link> | <router-link to="/">Go to Home</router-link> | <router-link to="/about/some-page">Go to Some Page in About</router-link> | <router-link to="/contact/some-page">Go to Some Page in Contact</router-link> | <router-link to="/">Go to Top</router-link> | <router-link to="//about">Go to About (hash)</router-link> | <router-link to="//contact">Go to Contact (hash)</router-link> | <router-link to="//home">Go to Home (hash)</router-link> | <router-link to="//about/some-page">Go to Some Page in About (hash)</router-link> | <router-link to="//contact/some-page">Go to Some Page in Contact (hash)</router-link> | <router-link to="//home/some-page">Go to Some Page in Home (hash)</router-link> | <router-link to="//about/some-page?name=John&age=28">Go to Some Page with query string (name=John&age=28)</router-link> | <router-link to="//about/some-page?name=John&age=28section">Go to Some Page with query string and hash (name=John&age=28section)</router-link> | <router-link to="//about/some-page?name=John&age=28section" target="_blank">Open some page in new tab (name=John&age=28section)</router-link> | <router-link to="//about/some-page?name=John&age=28section" target="_self">Open some page in same tab (name=John&age=28section)</router-link> | <router-link to="//about/some-page?name=John&age=28section" rel="noopener noreferrer">Open some page without using the browser history (name=John&age=28section)</router-link> | <a href="/about/some-page">Go to Some Page in About (anchor)</a> | <a href="/contact/some-page">Go to Some Page in Contact (anchor)</a> | <a href="/home/some-page">Go to Some Page in Home (anchor)</a> | <a href="/about/some-page?name=John&age=28">Go to Some Page with query string (name=John&age=28) (anchor)</a> | <a href="/about/some-page?name=John&age=28section">Go to Some Page with query string and hash (name=John&age=28section) (anchor)</a> | <a href="/about/some-page?name=John&age=28section" target="_blank">Open some page in new tab (name=John&age=28section) (anchor)</a> | <a href="/about/some-page?name=John&age=28section" target="_self">Open some page in same tab (name=John&age=28section) (anchor)</a> | <a href="/about/some-page?name=John&age=28section" rel="noopener noreferrer">Open some page without using the browser history (name=John&age=28section) (anchor)</a> | <a href="/">Home (anchor)</a> | <a href="/about">About (anchor)</a> | <a href="/contact">Contact (anchor)</a> | <a href="top">Go to Top (anchor)</a> | <a href="home">Go to Home (anchor)</a> | <a href="about">Go to About (anchor)</a> | <a href="contact">Go to Contact (anchor)</a> | <a href="home" >Active Link (anchor with class "active")</a> | <a href="home" >Highlighted Link (anchor with class "highlight")</a> >| <span >Underlined Link (span with class "underlined")</span><br /><span  data-obfuscation="e9f9b0c3e5f6b5e0d4f6c6d5b5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5b5c5
0