vue --- > Vue中的路由跳转问题

import Vue from 'vue'
import Router from 'vue-router'    // 前2个导入时vue框架自带的
import SayHi from '@/components/SayHi'   // 这个导入是自己写的位于components下的sayHi

Vue.use(Router)  // 用到了vue的Router模块
export default new Router({
    routes: [
        {
            path: '/say_hi',     // 在浏览器中输入@/#/say_hi
            name: 'SayHi',   // 给处理这条路由的js文件起名为SayHi,一般就是浏览器中输入的驼峰命名法命名的
            component: SayHi   // 处理该路由的组件,在上面导入的
        },
    ]
})
path: 定义链接地址, 如/#/say_hi
name: 表示为这个路由加名字, 方便以后引用, 如this.$route.push({name:'SayHi'})
component: 表示该路由由哪个component来处理.
// 跳转到某个路由时带上参数  --- > 普通的参数
routes: [
    {
        path: '/blog',
        name: 'Blog'
    }
]
// 在视图中,我们这样做:
<router-link :to="{name: 'Blog', query:{id:3} }">User</router-link>
// 用户点击这个代码生成的 html 页面时, 就会触发跳转.

// 在<script />中,我们这样做:
this.$router.push({name: 'Blog', query: {id: 3}})

// 上面两个都会跳到/#/blog?id=3
// 跳到某个路由时带上参数 --- > 在路由中声明的参数
routes: [
    {
        path: '/blog/:id',
        name: 'Blog'
    },
]

// 在视图中,我们这样做:
<router-link :to="{name: 'Blog', params: {id: 3} }">User</router-link>

// 在script中,我们这样做:
this.$router.push({name: 'Blog', params: {id: 3}})
// 上面两个都会跳转到/#/blog/3    ps:与上面块(/#/blog?id=3)的区别
// 根据路由获取参数
--- > 对于 /#/blogs?id=3 中的参数,可以这样获取
this.$route.query.id  // 返回结果3



--- > 对于 /#/blogs/3 这样的参数,可以对应的路由是:
routes: [
    {
        path: '/blog/:id',    // 注意此处的id
        ...
    }
]
可以采取以下的代码来获取id
this.$route.params.id   // 返回结果3

参考 《Vue.js快速入门》 P92~P94

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值