vue2路由基本用法实例分析


Posted in Javascript onMarch 06, 2020

本文实例讲述了vue2路由基本用法。分享给大家供大家参考,具体如下:

Vue-router 是给Vue.js 提供路由管理的插件,利用hash 的变化控制动态组件的切换。以往页面间跳转都由后端MVC 中Controller 层控制,通过<a> 标签的href 或者直接修改location.href,我们会向服务端发起一个请求,服务端响应后根据所接收到的信息去获取数据和指派对应的模板,渲染成HTML 再返回给浏览器,解析成我们可见的页面。Vue.js +Vue-router 的组合将这一套逻辑放在了前端去执行,切换到对应的组件后再向后端请求数据,填充进模板来,在浏览器端完成HTML 的渲染。这样也有助于前后端分离,前端不用依赖于后端的逻辑,只需要后端提供数据接口即可。

引用方式:

在HTML 中直接用script 标签引入即可,例如:

<script src="<%=request.getContextPath()%>/lib/vue-router.js"></script>

注意:vue的引入要放在vue-router的之前,不然vue-router会不起作用。

基本用法:

本文章将结合boostrap中的样式来做案例,实现导航条,点击实现不同的页面。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>routerTest1</title>
  <c:import url="importFile.jsp"></c:import>
</head>
<body>
<div id="app">
  <nav class="navbar navbar-inverse">
    <div class="container-fluid">
      <div class="navbar-header">
        <a class="navbar-brand" href="#" rel="external nofollow" >Brand</a>
      </div>
      <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
        <ul class="nav navbar-nav">
          <%--定义跳转的路径--%>
          <li class="active"> <router-link to="/home">Home</router-link></li>
          <li> <router-link to="/list">List</router-link></li>
        </ul>
      </div>
    </div>
  </nav>
  <div class="container">
    <!—路由切换组件template 插入的位置 -->
    <router-view></router-view>
  </div>
</div>

<script type="x-template" id="modalTel">
  <div>
    <h1> this is home page </h1>

  </div>

</script>
<script>

  /*
   * var Home = Vue.extend({
   template:'<h1> this is home page </h1>',
   })
   * */
  /*使用Javascrip 模板创建组件*/
  var Home = Vue.extend({
    template:'#modalTel'
  })

  /*创建路由器实例*/
  const router = new VueRouter({
    routes:[
        /*默认时的路径*/
      { path: '/', redirect: '/home' },
      {
        path:'/home',
        component:Home,

      },
      {
        path:'/list',
        component:{
          /*显示一些路由的属性*/
          template:'<h1> this is list page----{{$route.path}}</h1>'
        }
      }
    ]
  });
  const app = new Vue({
    router:router
  }).$mount('#app')
</script>
</body>
</html>

importFile.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>框架文件</title>
  <link href="<%=request.getContextPath()%>/frame/bootstrap-3.1.1/css/bootstrap.css" rel="external nofollow" rel="stylesheet">
  <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
  <script src="<%=request.getContextPath()%>/lib/vue-router.js"></script>
  <script src="<%=request.getContextPath()%>/lib/jquery.min.js"></script>
  <script src="<%=request.getContextPath()%>/frame/bootstrap-3.1.1/js/bootstrap.min.js"></script>

 
</head>
<body>

</body>
</html>

这样整个运行成功了。

 vue2路由基本用法实例分析

vue2路由基本用法实例分析

这样,简单的路由实例就完成了。

路由对象:

在使用Vue-router 启动应用时,每个匹配的组件实例中都会被注入router 的对象,称之为路由对象。在组件内部可以通过this.$route 的方式进行调用。

路由对象总共包含了以下几个属性:

1.$route.path

类型为字符串,为当前路由的绝对路径,如/list/1。

2.$route.params

类型为对象。包含路由中动态片段和全匹配片段的键值对。如上述例子中的/list/:page路径,就可以通过this.$route.params.page 的方式来获取路径上page 的值。

3.$route.query

类型为对象。包含路由中查询参数的键值对。例如/list/1?sort=createTime, 通过this.$route.query.sort 即可得到createTime。

4.$route.router

即路由实例,可以通过调用其go,replace 方法进行跳转。我们在组件实例中也可以直接调用this.$router 来访问路由实例。router 具体的属性和api 方法将在7.1.10 路由实例中进行说明。

5.$route.matched

6.$route.name

类型为字符串,即为当前路由设置的name 属性。

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
JavaScript 继承机制的实现(待续)
May 18 Javascript
js函数的引用, 关于内存的开销
Sep 17 Javascript
JavaScript 命名空间 使用介绍
Aug 29 Javascript
Javascript中3种实现继承的方法和代码实例
Aug 12 Javascript
Javascript获取CSS伪元素属性的实现代码
Sep 28 Javascript
jquery判断单选按钮radio是否选中的方法
May 05 Javascript
基于jQuery实现仿搜狐辩论投票动画代码(附源码下载)
Feb 18 Javascript
浅析如何利用JavaScript进行语音识别
Oct 27 Javascript
用vue-cli开发vue时的代理设置方法
Sep 20 Javascript
mpvue项目中使用第三方UI组件库的方法
Sep 30 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
Sep 01 Javascript
利用node.js开发cli的完整步骤
Dec 29 Javascript
vue 动态组件用法示例小结
Mar 06 #Javascript
extjs图形绘制之饼图实现方法分析
Mar 06 #Javascript
extjs图表绘制之条形图实现方法分析
Mar 06 #Javascript
Node.js中文件系统fs模块的使用及常用接口
Mar 06 #Javascript
JavaScript中的this/call/apply/bind的使用及区别
Mar 06 #Javascript
JS实现网页端猜数字小游戏
Mar 06 #Javascript
extjs4图表绘制之折线图实现方法分析
Mar 06 #Javascript
You might like
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
Zend公司全球首推PHP认证
2006/10/09 PHP
php面向对象全攻略 (十七) 自动加载类
2009/09/30 PHP
PHP多线程抓取网页实现代码
2010/07/22 PHP
php使用ereg验证文件上传的方法
2014/12/16 PHP
php中10个不同等级压缩优化图片操作示例
2016/11/14 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
centos7上编译安装php7以php-fpm方式连接apache
2018/11/08 PHP
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
Javascript学习笔记之相等符号与严格相等符号
2014/11/23 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
jQuery实现根据类型自动显示和隐藏表单
2015/03/18 Javascript
用jquery的attr方法实现图片切换效果
2017/02/05 Javascript
通过npm引用的vue组件使用详解
2017/03/02 Javascript
JS仿QQ好友列表展开、收缩功能(第二篇)
2017/07/07 Javascript
极简主义法编写JavaScript类
2017/11/02 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
2018/02/09 Javascript
vue输入框使用模糊搜索功能的实现代码
2020/05/26 Javascript
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
Python进行数据科学工作的简单入门教程
2015/04/01 Python
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
Python视频爬虫实现下载头条视频功能示例
2018/05/07 Python
对json字符串与python字符串的不同之处详解
2018/12/19 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
2019/02/25 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
2019/04/01 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
python如何遍历指定路径下所有文件(按按照时间区间检索)
2020/09/14 Python
美国销售第一的智能手机和平板电脑保护壳:OtterBox
2017/12/21 全球购物
经理秘书找工作求职信
2013/12/19 职场文书
后进生转化工作制度
2014/01/17 职场文书
五一口号
2014/06/19 职场文书
市场部经理岗位职责
2015/02/02 职场文书
大学生求职自荐信
2015/03/24 职场文书
Python使用openpyxl模块处理Excel文件
2022/06/05 Python