一、什么是SPA

   单页Web应用(single page application,SPA),就是只有一个Web页面的应用,
   是加载单个HTML页面,并在用户与应用程序交互时动态更新该页面的Web应用程序

   单页面应用程序:

只有第一次会加载页面, 以后的每次请求, 仅仅是获取必要的数据.然后, 由页面中js解析获取

的数据, 展示在页面中

 传统多页面应用程序:
   对于传统的多页面应用程序来说, 每次请求服务器返回的都是一个完整的页面

   优势;
   减少了请求体积,加快页面响应速度,降低了对服务器的压力
   更好的用户体验,让用户在web app感受native app的流畅

二、SPA实现思路和技术点

1.ajax
   2.锚点的使用(window.location.hash #)
   3.hashchange 事件 window.addEventListener("hashchange",function () {})
   4.监听锚点值变化的事件,根据不同的锚点值,请求相应的数据
   5.原本用作页面内部进行跳转,定位并展示相应的内容

三、路由实现思路:

1.确保引入Vue.vue-router的js依赖ding

2.创建自定义组件,例如:Home和Abort组件

3.定义路由跳转路径(let也是es6写法,代表非对象)

4.得到路由对象

5.将路由与vue进行绑定

6.定义组件存放位置,定义锚点

7.路由组件跳转触发点

代码如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Vue路由</title>
       <!-- 第一步:确保引入Vue.vue-router的js依赖-->
        <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.10/vue.js"></script>
        <script src="https://cdn.bootcdn.net/ajax/libs/vue-router/3.5.2/vue-router.js"></script>
    </head>
    <body>
        <div id="app">
            <h3>{{msg}}</h3>
            <!-- 第六步:定义锚点 -->
            <router-link to="/Home" replace="">首页</router-link>
            <router-link to="/Abort">本站内容</router-link>
            <router-view></router-view>
        </div>
    </body>
    <script type="text/javascript">
    /* 第二步:定义需求中需要的组件 */
            const Home = Vue.extend({
                template: '<div><p>首页</p><div>首博主所写内容</div></div>'
            });
            const Abort = Vue.extend({
                template: '<div><p>关于本站</p><div>博主相关信息,运营内容</div></div>'
            });
            /* 第三步:添加url与组件的映射关系(组合路由)*/
            let routes=[
                {
                    path:'/',
                    component:Home
                },
                {
                    path:'/Home',
                    component:Home
                },
                {
                    path:'/Abort',
                    component:Abort
                }
            ]
            /*第四步: 将路由的集合组合成路由器 */
            const router=new VueRouter({routes});
            
    new Vue({
        el:'#app',
        //第五步:将路由挂载到vue实例中
        router,
        data:{
            msg:'Vue路由第一课'
        }
    })
    </script>
</html>

呈现效果:

四.无痕游览(课外拓展)

<router-link to="/home" replace="">首页</router-link>

Vue之路由(SPA开发模式)相关推荐

  1. vue 单页面(SPA) history模式调用微信jssdk 跳转后偶尔 “invalid signature“错误解决方案

    vue 单页面(SPA) history模式调用微信jssdk 跳转后偶尔 "invalid signature"错误解决方案 参考文章: (1)vue 单页面(SPA) hist ...

  2. Vue之路由--SPA模式

    明确课堂目标: 1. SPA是什么? 单页Web应用(single page application,SPA),就是只有一个Web页面的应用,   是加载单个HTML页面,并在用户与应用程序交互时动态 ...

  3. Vue 的路由实现 Hash模式 和 History模式

    Hash 模式: Hash 模式的工作原理是onhashchange事件,Window对象可以监听这个事件... 可以通过改变路径的哈希值,来实现历史记录的保存,发生变化的hash 都会被浏览器给保存 ...

  4. vue react 路由history模式刷新404问题解决方案

    vue react 路由history模式刷新404问题解决方案 参考文章: (1)vue react 路由history模式刷新404问题解决方案 (2)https://www.cnblogs.co ...

  5. vue 打包路由报错_Vue下路由History模式打包后页面空白的解决方法

    vue的路由在默认的hash模式下,默认打包一般不会有什么问题,不过hash模式由于url会带有一个#,不美观,而且在微信分享,授权登录等都会有一些坑.所以history模式也会有一些应用场景.新手往 ...

  6. Vue - 去除控制台“你正在开发模式下运行Vue”的警告

    目录 1. 警告内容 2. 解决方案 1. 警告内容 调试 Vue 代码时,Console 控制台老是有警告,警告内容 文字信息如下: You are running Vue in developme ...

  7. vue 刷新嵌套路由_vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法...

    解决vue-router嵌套路由(子路由)在history模式下刷新无法渲染页面的问题,具体内容如下 一. 异常描述 本来使用的是vue-router的hash模式,但是hash模式下url需要带&q ...

  8. java游戏spa,【Vue的路由,SPA概念】

    前言 本章是为了以后实现前端页面的搭建而写的, 重点在于如何实现 单页Web应用 因为相对于以前的传统多页面web,有很大的缺陷. 那么就必须了解一下Vue的路由设置. SPA的概念 总的而言,我们知 ...

  9. Vue.js组件化开发实践

    Vue.js组件化开发实践 前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了一下的内容.首先会对使用Vue进行开发的一 ...

最新文章

  1. java openfile busy_android java.io.IOException: open failed: EBUSY (Device or resource busy)
  2. 7 自动开启网卡_淘汰的旧手机别扔掉,这样设置变身4G上网卡
  3. 佐治亚理工学院计算科学与工程系博士生招生!
  4. 每天一点Linux --- 目录的可执行权限
  5. 二、【绪论】算法和算法评价
  6. 服务器中毒后老板差点把我开除了。。。
  7. M| SQL 导入导出的时候数据库表的主键和自动编号丢失 怎么办
  8. 微型计算机原理设计存储系统,微机原理与接口技术存储器设计.pdf
  9. linux下rman自动备份,linux 下rman 自动备份
  10. mysqldump对mysql数据库的影响
  11. KNN (K近邻算法) - 识别手写数字
  12. 同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式
  13. 台达EH3系列PLC进行MODBUS RTU通信的具体方法和步骤(非常详细)
  14. 各大物联网平台对比之百度IoT云平台
  15. 【分享】GIS领域论坛社区
  16. 基于Linux系统PXE启动DOS工具
  17. Linux bridge hairpin mode
  18. 如何降低图片kb大小?教你两个快速压缩图片大小的方法!
  19. 采样频率和带宽的关系_ADC为什么需要采样保持器(SHA)?
  20. python集合如何去除重复数据_Python 迭代删除重复项,集合删除重复项

热门文章

  1. 三维实景应用制作工具有哪些?
  2. FlyMcu串口下载
  3. 零跑汽车股价再创数据新高
  4. 系统服务管理知识-进程守护工具:supervisor
  5. Leetcode 简单四 罗马数字转整数
  6. 2022K+全球软件研发行业创新峰会议题海选精彩进行中
  7. 问个问题(nimultisim14.0双开关)
  8. 雨雨cms-YYCMS5.0新版影视网源码自动采集数据-玥雅CMS
  9. 16Python文本数据分析:新闻分类任务 (贝叶斯算法应用实例)
  10. 关于开发人员学习的网站【收藏】