浅谈vue-router 路由传参的方法


Posted in Javascript onDecember 27, 2017

路由传参数。在很多时候我们需要路由上面传递参数,比如新闻列表页,我们需要传递新闻ID,给新闻详细页。

1.新闻列表页模板

<template id="news">
    <div>
      <h2>新闻列表</h2>
      <ul>
        <li>
          <router-link to="/news/001">新闻001</router-link>
        </li>
        <li>
          <router-link to="/news/002">新闻002</router-link>
        </li>
      </ul>      
    </div>
  </template>

我们访问/news/001,跳转到新闻详细页,展示001的这条新闻。

2.新闻详细页组件准备

<template id="NewsDetail">
    <div>
      新闻详细页面
      <span>{{$route.params.id}}</span>
    </div>
  </template>

$route.params.id获取路由上的参数

3.定义路由,增加一个路由

{ path: '/news/:id', component: NewsDetail },

4.全部代码如下:

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <meta charset="utf-8">
  <script src="http://unpkg.com/vue/dist/vue.js"></script>
  <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
</head>
<body> 
  <div id="box">
    <p>
      <router-link to="/home">home</router-link>
      <router-link to="/news">news</router-link>
    </p>
     <router-view></router-view>
  </div>

  <!-- 模板抽离出来 -->
  <template id="home">
    <!-- 注意:组件只能有一个根元素,所以我们包装到这个div中 -->
    <div>
      <h2>首页</h2>
       <router-link to="/home/login">登录</router-link>
      <router-link to="/home/reg">注册</router-link>
      <!-- 路由匹配到的组件将渲染在这里 -->
      <router-view></router-view>
    </div>
  </template>

  <template id="news">
    <div>
      <h2>新闻列表</h2>
      <ul>
        <li>
          <router-link to="/news/001">新闻001</router-link>
        </li>
        <li>
          <router-link to="/news/002">新闻002</router-link>
        </li>
      </ul>      
    </div>
  </template>

  <template id="login">
    <div>登录界面</div>
  </template>
  <template id="reg">
    <div>注册界面</div>
  </template>

  <template id="NewsDetail">
    <div>
      新闻详细页面
      <span>{{$route.params.id}}</span>
    </div>
  </template>

  <script type="text/javascript">
    // 1. 定义(路由)组件。
    const Home = { template: '#home' };
    const News = { template: '#news' };

    const Login = { template: '#login' };
    const Reg = { template: '#reg' };

    //新闻详细页组件
    const NewsDetail = { template: '#NewsDetail' };


    // 2. 定义路由
    const routes = [
       { path: '/', redirect: '/home' },
      { 
        path: '/home', 
        component: Home, 
        children:[
          { path: '/home/login', component: Login},
          { path: '/home/reg', component: Reg}
        ]
      },
      { path: '/news', component: News,},
      { path: '/news/:id', component: NewsDetail },

    ]

    // 3. 创建 router 实例,然后传 `routes` 配置
    const router = new VueRouter({
      routes // (缩写)相当于 routes: routes
    })


    // 4. 创建和挂载根实例。
    // 记得要通过 router 配置参数注入路由,
    // 从而让整个应用都有路由功能
    const app = new Vue({
     router
    }).$mount('#box')

    // 现在,应用已经启动了!
  </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jquery的自定义鼠标提示效果 jquery.toolTip
Nov 14 Javascript
了解了这些才能开始发挥jQuery的威力
Oct 10 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
Dec 30 Javascript
javascript将数字转换整数金额大写的方法
Jan 27 Javascript
Jquery的基本对象转换和文档加载用法实例
Feb 25 Javascript
jQuery实现切换字体大小的方法
Mar 10 Javascript
在线所见即所得HTML编辑器的实现原理浅析
Apr 25 Javascript
JavaScript提升性能的常用技巧总结【经典】
Jun 20 Javascript
JS获取本地地址及天气的方法实例小结
May 10 Javascript
vue-resource 拦截器interceptors使用详解
Jan 18 Vue.js
jQuery实现鼠标拖动图片功能
Mar 04 jQuery
javascript拖曳互换div的位置实现示例
Jun 28 Javascript
关于laydate.js加载laydate.css路径错误问题解决
Dec 27 #Javascript
javascript连接mysql与php通过odbc连接任意数据库的实例
Dec 27 #Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
Dec 27 #Javascript
使用命令行工具npm新创建一个vue项目的方法
Dec 27 #Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
Dec 27 #Javascript
VSCode 配置React Native开发环境的方法
Dec 27 #Javascript
VSCode配置react开发环境的步骤
Dec 27 #Javascript
You might like
GD输出汉字的函数的分析
2006/10/09 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
CodeIgniter控制器之业务逻辑实例分析
2016/01/20 PHP
屏蔽F1~F12的快捷键的js函数
2010/05/06 Javascript
非常棒的10款jQuery 幻灯片插件
2011/06/14 Javascript
浅谈Javascript中匀速运动的停止条件
2014/12/19 Javascript
使用C++为node.js写扩展模块
2015/04/22 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
AngularJS 在同一个界面启动多个ng-app应用模块详解
2016/12/20 Javascript
微信小程序 侧滑删除(左滑删除)
2017/05/23 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
2018/01/16 Javascript
详解node.js 下载图片的 2 种方式
2018/03/02 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
2018/09/03 Javascript
javascript自定义加载loading效果
2020/09/15 Javascript
解决Ant Design Modal内嵌Form表单initialValue值不动态更新问题
2020/10/29 Javascript
[00:26]TI7不朽珍藏III——冥界亚龙不朽展示
2017/07/15 DOTA
python处理文本文件并生成指定格式的文件
2014/07/31 Python
Python实现备份文件实例
2014/09/16 Python
python在不同层级目录import模块的方法
2016/01/31 Python
python socket多线程通讯实例分析(聊天室)
2016/04/06 Python
python实现冒泡排序算法的两种方法
2018/03/10 Python
对python多线程与global变量详解
2018/11/09 Python
Python3.7安装keras和TensorFlow的教程图解
2020/06/18 Python
python实现对变位词的判断方法
2020/04/05 Python
python3.8.1+selenium实现登录滑块验证功能
2020/05/22 Python
英国性感内衣和睡衣品牌:Bluebella
2018/01/26 全球购物
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
俄罗斯金苹果网上化妆品和香水商店:Goldapple
2019/12/01 全球购物
自动化专业本科毕业生求职信
2013/10/20 职场文书
高校辅导员推荐信范文
2013/12/25 职场文书
银行工作检查书范文
2014/01/31 职场文书
维修工先进事迹
2014/05/29 职场文书
六一亲子活动总结
2014/07/01 职场文书
小学少先队辅导员述职报告
2015/01/10 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
送给教师们,到底该如何写好教学反思?
2019/07/02 职场文书