vue中路由参数的使用

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>

<body>
<div id="app">

<router-link to="/home">首页</router-link>
<router-link to="/news/1">第一条新闻</router-link>
<router-link to="/news/112">第二条新闻</router-link>
<router-link to="/news/abc">第三条新闻</router-link>

<!-- 路由出口: -->
<router-view></router-view>

</div>

<script src="./vue.js"></script>
<script src="./vue-router.js"></script>
<script>
/*
组件中如何获取 路由参数???
1 在组件模板中获取: route.params.id id 与路由规则中配置的路由参数 :id 保持一致 2 在代码中获取:this.route.params.id
*/

const Home = {
  template: `
    <div>这是 Home 组件</div>
  `
}

const News = {
  template: `
    <div>这是 新闻 组件 --- {{ $route.params.id }}</div>
  `,

  created() {
    console.log('代码中获取路由参数:', this.$route.params.id)
  }
}

// 创建路由实例
const router = new VueRouter({
  // 配置路由规则
  routes: [
    { path: '/home', component: Home },

    // 该路由可以匹配什么样的哈希值???
    // 1 /news/221
    //   /news 是固定写死的, /221 正好被 /:id 匹配

    // 不能匹配:
    // 1 /news  少了 /:id 匹配的不分
    // 2 /abc   从头开始就无法匹配
    // 3 /news/123/adf  多了 /adf 这一部分
    { path: '/news/:id', component: News }
  ]
})

const vm = new Vue({
  el: '#app',
  data: {},
  // 将路由实例挂到Vue实例中
  router
})

</script>
</body>

</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值