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 Konami Code 实现代码
Jul 29 Javascript
IE Firefox 使用自定义标签的区别
Oct 15 Javascript
在vs2010中调试javascript代码方法
Feb 11 Javascript
有关javascript的性能优化 (repaint和reflow)
Apr 12 Javascript
jQuery图片轮播滚动切换代码分享
Apr 20 Javascript
省市选择的简单实现(基于zepto.js)
Jun 21 Javascript
jquery仿苹果的时间/日期选择效果
Mar 08 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
Aug 18 Javascript
Vue源码中要const _toStr = Object.prototype.toString的原因分析
Dec 09 Javascript
vue.js的双向数据绑定Object.defineProperty方法的神奇之处
Jan 18 Javascript
详解钉钉小程序组件之自定义模态框(弹窗封装实现)
Mar 07 Javascript
vue使用refs获取嵌套组件中的值过程
Mar 31 Vue.js
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
MongoDB在PHP中的常用操作小结
2014/02/20 PHP
xss防御之php利用httponly防xss攻击
2014/03/21 PHP
ThinkPHP CURD方法之limit方法详解
2014/06/18 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
YII Framework框架教程之使用YIIC快速创建YII应用详解
2016/03/15 PHP
JS效率个人经验谈(8-15更新),加入range技巧
2007/01/09 Javascript
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
用jquery等比例控制图片宽高的具体实现
2014/01/28 Javascript
js函数参数设置默认值的一种变通实现方法
2014/05/26 Javascript
Eclipse配置Javascript开发环境图文教程
2015/01/29 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
JS中生成随机数的用法及相关函数
2016/01/09 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
webpack打包nodejs项目的方法
2018/09/26 NodeJs
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
2018/12/11 jQuery
Vue实现附件上传功能
2020/05/28 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
[03:32]2014DOTA2西雅图邀请赛 CIS外卡赛赛前black专访
2014/07/09 DOTA
举例讲解如何在Python编程中进行迭代和遍历
2016/01/19 Python
Python3爬虫学习之应对网站反爬虫机制的方法分析
2018/12/12 Python
11个Python3字典内置方法大全与示例汇总
2019/05/13 Python
Python+Pyqt实现简单GUI电子时钟
2021/02/22 Python
python实现矩阵和array数组之间的转换
2019/11/29 Python
关于tf.matmul() 和tf.multiply() 的区别说明
2020/06/18 Python
html5 利用canvas实现超级玛丽简单动画
2013/09/06 HTML / CSS
HTML5 CSS3实现一个精美VCD包装盒个性幻灯片案例
2014/06/16 HTML / CSS
Lentiamo比利时:便宜的隐形眼镜
2020/02/14 全球购物
总务岗位职责
2013/11/19 职场文书
人事科岗位职责范本
2014/03/02 职场文书
秋季开学典礼主持词
2014/03/19 职场文书
中国梦主题教育活动总结
2014/05/05 职场文书
公安机关纪律作风整顿个人剖析材料材料
2014/10/10 职场文书
2014年仓库管理员工作总结
2014/11/18 职场文书
自信主题班会
2015/08/14 职场文书
演讲稿之感恩老师(三篇范文)
2019/09/06 职场文书
Java多线程并发FutureTask使用详解
2022/06/28 Java/Android