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 相关文章推荐
Jquery升级新版本后选择器的语法问题
Jun 02 Javascript
JavaScript类型转换方法及需要注意的问题小结(挺全面)
Nov 11 Javascript
基于Jquery实现表格动态分页实现代码
Jun 21 Javascript
document.getElementById获取控件对象为空的解决方法
Nov 20 Javascript
Bootstrap表单制作代码
Mar 17 Javascript
JavaScript实现无穷滚动加载数据
May 06 Javascript
jquery实现一个全局计时器(商城可用)
Jun 30 jQuery
vue引用js文件的多种方式(推荐)
May 17 Javascript
关于RxJS Subject的学习笔记
Dec 05 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
Apr 22 Javascript
jquery中attr、prop、data区别与用法分析
Sep 25 jQuery
解决VUE项目localhost端口服务器拒绝连接,只能用127.0.0.1的问题
Aug 14 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
php录入页面中动态从数据库中提取数据的实现
2006/10/09 PHP
AJAX for PHP简单表数据查询实例
2007/01/02 PHP
php根据日期判断星座的函数分享
2014/02/13 PHP
PHP中mysqli_affected_rows作用行数返回值分析
2014/12/26 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
stripos函数知识点实例分享
2019/02/11 PHP
Thinkphp 框架扩展之类库扩展操作详解
2020/04/23 PHP
精心挑选的15款优秀jQuery 本特效插件和教程
2012/08/06 Javascript
使用jquery读取html5 localstorage的值的方法
2013/01/04 Javascript
windows下安装nodejs及框架express
2015/08/07 NodeJs
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
2015/12/03 Javascript
jQuery实现导航回弹效果
2017/02/27 Javascript
浅谈React碰到v-if
2018/11/04 Javascript
vue-cli3 karma单元测试的实现
2019/01/18 Javascript
详解VUE Element-UI多级菜单动态渲染的组件
2019/04/25 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
python查询mysql中文乱码问题
2014/11/09 Python
Python实现统计单词出现的个数
2015/05/28 Python
python制作一个桌面便签软件
2015/08/09 Python
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
python中安装模块包版本冲突问题的解决
2017/05/02 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
2018/04/21 Python
django多对多表的创建,级联删除及手动创建第三张表
2019/07/25 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
2020/03/30 Python
css3 clip实现圆环进度条的示例代码
2018/02/07 HTML / CSS
HTML5 video标签(播放器)学习笔记(一):使用入门
2015/04/24 HTML / CSS
北京SQL新华信咨询
2016/09/30 面试题
幼儿园教师备课制度
2014/01/12 职场文书
建筑个人求职信范文
2014/01/25 职场文书
实习生求职自荐信
2014/02/07 职场文书
党员民主评议总结
2014/10/20 职场文书
公务员群众路线心得体会
2014/11/03 职场文书
党员带头倡议书
2015/04/29 职场文书
跳高加油稿
2015/07/21 职场文书
学校团代会开幕词
2016/03/04 职场文书