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 相关文章推荐
JS俄罗斯方块,包含完整的设计理念
Dec 11 Javascript
jquery构造器的实现代码小结
May 16 Javascript
JS 模态对话框和非模态对话框操作技巧汇总
Apr 15 Javascript
JavaScript 判断用户输入的邮箱及手机格式是否正确
Dec 08 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
Mar 10 Javascript
使用CamanJS在Web页面上处理图像的技巧
Aug 18 Javascript
如何用jQuery实现ASP.NET GridView折叠伸展效果
Sep 26 Javascript
jquery实现自适应banner焦点图
Feb 16 Javascript
详解vue.js之绑定class和style的示例代码
Aug 24 Javascript
微信小程序支付之c#后台实现方法
Oct 19 Javascript
Vuepress 搭建带评论功能的静态博客的实现
Feb 17 Javascript
12 种使用Vue 的最佳做法
Mar 30 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+AJAX无刷新分页实现方法
2015/11/03 PHP
php实现数据库的增删改查
2017/02/26 PHP
PHP设计模式之单例模式定义与用法分析
2019/03/26 PHP
基于jquery的滚动鼠标放大缩小图片效果
2011/10/27 Javascript
jQuery显示和隐藏 常用的状态判断方法
2015/01/29 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
2016/01/12 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
jQuery实现的图片轮播效果完整示例
2016/09/12 Javascript
滚动条的监听与内容随着滚动条动态加载的实现
2017/02/08 Javascript
jQuery绑定事件方法及区别(bind,click,on,live,one)
2017/08/14 jQuery
微信小程序实现刷脸登录
2018/05/25 Javascript
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
Nodejs实现多文件夹文件同步
2018/10/17 NodeJs
详解Vue2.5+迁移至Typescript指南
2019/08/01 Javascript
layui switch 开关监听 弹出确定状态转换的例子
2019/09/21 Javascript
解决vue+webpack项目接口跨域出现的问题
2020/08/10 Javascript
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
详解在Python中处理异常的教程
2015/05/24 Python
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
2016/04/23 Python
代码详解django中数据库设置
2019/01/28 Python
python字符串的拼接方法总结
2019/11/18 Python
python创建ArcGIS shape文件的实现
2019/12/06 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
2020/02/17 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
安德玛菲律宾官网:Under Armour菲律宾
2020/07/28 全球购物
银行实习自我鉴定
2013/10/12 职场文书
最新结婚典礼主持词
2014/03/14 职场文书
公证书标准格式
2014/04/10 职场文书
《学会合作》教学反思
2014/04/12 职场文书
主持人演讲稿
2014/05/13 职场文书
任命书怎么写
2014/06/04 职场文书
企业标语口号
2014/06/10 职场文书
企业读书活动总结
2014/06/30 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
深入理解mysql事务隔离级别和存储引擎
2022/04/12 MySQL
Python中的协程(Coroutine)操作模块(greenlet、gevent)
2022/05/30 Python