vue-基本路由的使用

一、介绍

VueRouter是Vue.js官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。在使用时我们需要提前安装,配置好环境。
安装
直接下载/CDN

https://unpkg.com/vue-router/dist/vue-router.js

二、创建单页面应用

HTML

<div id="app">
<!--  路由出口 将匹配到的组件渲染在这里 -->
        <router-view></router-view> 
<!-- 导航 默认渲染一个a标签  通过to指定链接 -->
         <router-link to='/denglu'>登录</router-link>
        <router-link to='/zhuce'>注册</router-link>
    </div>

js

  • 在routes:[ ]中,每个路由规则,都是一个对象,这个规则对象都有必须的两个属性:

1.path,表示监听哪个路由链接的地址
2.component,表示如果路由是前面匹配到的path,则展示component属性对应的那个组件。component的属性值,必须为一个组件的模板对象,不能是组件的引用名称

//定义路由组件
        var foo ={
            template:'<p>登陆界面</p>'
        }
        var bar ={
            template:'<p>注册界面</p>'
        }

//创建router实例  
        var router= new VueRouter({
//定义路由
          routes:[   //路由规则数组
            {
                path:'/denglu',
                component:foo
            },{
                path:'/zhuce',
                component:bar
            }
        ]
        })      
//创建挂载根实例
        new Vue({
            el:'#app',
           data:{},
           methods:{},
           router:router
        })

其它相关属性
active-class:设置链接激活时使用的class类名

   <style>
   .active{
      background-color : red;
       }
     </style>


    <router-link to='/zhuce' active-class='active'>注册</router-link>

tag:将其渲染成某种标签

<router-link to="/denglu" tag="li">登录</router-link>
<!-- 渲染结果 -->
<li>登录</li>

event:声明用来触发导航的事件
鼠标移上去触发
replace:设置 replace 属性的话,当点击时,会调用 router.replace() 而不是 router.push(),导航后不会留下 history 记录
append:设置 append 属性后,则在当前 (相对) 路径前添加其路径。例如,我们从 /a 导航到一个相对路径 b,如果没有配置 append,则路径为 /b,如果配了,则为 /a/b

         <router-link to='/denglu' event = "mouseover">登录</router-link>

动态路由参数的变化
当路由地址中携带参数,并以冒号开头时,参数值会被设置到params中,我们可以使用this.$route.params获取当中的数据。如:

const User = {
  template: '<div>User</div>'
}
const router = new VueRouter({
  routes: [
    // 动态路径参数 以冒号开头
    { path: '/user/:id', component: User }
  ]
})

const User = {
  template: '<div>User {{ $route.params.id }}</div>'
}

当路由地址中携带参数,并以?key=value时,参数值会被设置到query中,我们可以使用this.$route.query获取当中的数据。如:

 <router-link to='/account/denglu?id=1'>登录</router-link>

 {{this.$route.query}}

watch的应用

在vue中,使用watch来响应数据的变化。
1.使用watch,监听data的数据变化,触发对应的处理函数。也可以给里面传参数,用来监听新值旧值,保存改变过的值

 watch: {
                'firstname':function(newVal,oldVal){
                    console.log('监听到 firstname的变化');

2.使用watch属性监听路由地址的改变($route.path)

var vm=new Vue({
            el:'#app',
            data:{},
            methods:{},
            router,
            watch: {
                '$route.path':function(newVal,oldVal){
                    if(newVal=='/login'){
                        console.log('欢迎进入到登录界面');
                    }else if(newVal=='/register'){
                        console.log('欢迎进入到注册界面');
                    }
                }
            },
        })

3.deep深度监听
数组(一维、多维)的变化不需要通过深度监听,对象数组中对象的属性变化则需要deep深度监听。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3 中,你可以使用 Vue Router 进行路由跳转。下面是一些基本的步骤: 1. 首先,确保你已经安装了 Vue Router。你可以通过运行以下命令来安装它: ``` npm install vue-router@next ``` 2. 在你的主文件(例如 `main.js` 或 `main.ts`)中导入 Vue Router 和你的路由配置: ```javascript import { createApp } from 'vue'; import { createRouter, createWebHistory } from 'vue-router'; import App from './App.vue'; import Home from './views/Home.vue'; import About from './views/About.vue'; const routes = [ { path: '/', component: Home }, { path: '/about', component: About } ]; const router = createRouter({ history: createWebHistory(), routes }); const app = createApp(App); app.use(router); app.mount('#app'); ``` 在上面的示例中,我们创建了两个路由:`/` 对应 `Home` 组件,`/about` 对应 `About` 组件。你可以根据自己的需求添加更多的路由。 3. 在你的组件中使用路由跳转,你可以使用 `<router-link>` 组件或 `$router.push` 方法。 使用 `<router-link>` 组件: ```html <router-link to="/">Home</router-link> <router-link to="/about">About</router-link> ``` 使用 `$router.push` 方法: ```javascript // 在方法中调用 methods: { goToHome() { this.$router.push('/'); }, goToAbout() { this.$router.push('/about'); } } // 或者在模板中调用 <button @click="$router.push('/')">Go to Home</button> <button @click="$router.push('/about')">Go to About</button> ``` 这样,当用户点击链接或按钮时,路由就会进行跳转。 这只是一个基本的示例,你还可以使用更多的 Vue Router 功能,如路由参数、嵌套路由路由守卫等。你可以参考 Vue Router 的官方文档来了解更多信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值