Vue之SPA

Vue SPA + Nodejs项目实战 Vue SPA + Nodejs项目实战文章链接:http://blog.youkuaiyun.com/i348018533/article/details/73605176本文主要阐述的是使用了vue spa单页应用的后台管理系统配合nodejs接口代理,并使用webpack打包编译的项目架构分享。 面向对象是有一定前端开发基础对vue nodejs webpack有一定认识的开发。Vue简介介绍 自底向上 阅读详情

SPA是什么

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

单页面应用程序

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

传统多页面应用程序

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

传统开发与SPA对比图
在这里插入图片描述

SPA的优势

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

SPA实现思路和技术点

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

路由

通过vue的路由可实现多视图的单页Web应用(基于html的SPA)

 1,引入依赖库
      <script src="js/vue.js"></script>
      <script src="js/vue-router.min.js"></script>
  2, 创建自定义组件,例如:Home和Abort组件
     
const Home = Vue.extend({
			template: '<div><p>这是一个Home组件</p><div>Home组件内容</div></div>'
		});

		const Abort = Vue.extend({
			template: '<div><p>这是一个Abort组件</p><div>Abort组件内容</div></div>'
		});
3,定义路由(即路线), 
      var routes = [{path: '/about',component: About}];
4,创建路由器实例,然后传 `routes` 配置
      const router = new VueRouter({routes:routes});

      注1:route和router的区别
           route:路线
           router:路由器
           路由器中包含了多个路线
  5,创建和挂载根实例。
      var vm = new Vue({router: router}).$mount('#app');
  6, 前面使用RouterLink和RouterView组件导航和显示

      <!-- 使用RouterLink组件导航. -->
      <!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->
      <!-- 通过传入 `to` 属性指定链接. -->
      <router-link to="/home">go to Home</router-link>
      <!-- 使用RouterView组件显示. -->
      <router-view></router-view> 

router-link相关属性

1,to
表示目标路由的链接

  <router-link to="/home">Home</router-link><!-- 字符串 -->
  <router-link v-bind:to="'home'">Home</router-link><!-- 使用 v-bind 的 JS 表达式 -->

2, replace
设置 replace 属性的话,当点击时,会调用 router.replace() 而不是 router.push(),导航后不会留下 history 记录。

  <router-link :to="{ path: '/home'}" replace></router-link>

  vue中导航中的后退-前进-编程式导航
  this.$router.go(-1) :代表着后退
  this.$router.go(1):代表着前进
  this.$router.push({    切换到name为home的路由
   name:'home'
  });

3 ,append
设置 append 属性后,则在当前 (相对) 路径前添加基路径。例如,我们从 /a 导航到一个相对路径 b,如果没有配置 append,则路径为 /b,如果配了,则为 /a/b

  <router-link :to="{ path: 'relative/path'}" append></router-link>

4 ,有时候想要 渲染成某种标签,例如

  • 。 于是我们使用 tag prop 类指定何种标签,同样它还是会监听点击,触发导航
  •   <router-link to="/foo" tag="li">foo</router-link>
      <!-- 渲染结果 -->
      <li>foo</li>
    

    5, active-class
    设置 链接激活时使用的 CSS 类名。

    6 exact-active-class
    配置当链接被精确匹配的时候应该激活的 class。

    7 ,event
    声明可以用来触发导航的事件。可以是一个字符串或是一个包含字符串的数组。

      <router-link v-bind:to = "{ path: '/route1'}" event = "mouseover">Router Link 1</router-link> 
    

    具体实例:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<script src="https://cdn.bootcss.com/vue/2.6.10/vue.js"></script>
    		<script src="https://cdn.bootcss.com/vue-router/3.1.3/vue-router.min.js"></script>
    		<title>路由</title>
    	</head>
    	<body>
    		<div id="app">
    			 <!-- 通过传入 `to` 属性指定链接. -->
    			<router-link to="/home">首页</router-link>
    			<router-link to="/about">关于</router-link>
    			 <!-- 使用RouterView组件显示. -->
    			<router-view></router-view> 
    
    		</div>
    		
    		
    	</body>
    	<script>
    		//定义组件
    		const Home=Vue.extend({
    			template:'<div><label>这是首页Home组件</label><p style="font-size:60px;color: #1E9FFF;">这是Home内容</p></div>'
    		});
    		const About=Vue.extend({
    			template:'<div><label>这是首页About组件</label><p style="font-size:40px;color: gold;">这是About内容</p></div>'
    		});
    		//定义路线
    		
    		let routes=[
    				{
    				path:'/home',
    				component:Home
    				},
    				{
    				path:'/about',
    				component:About
    				}
    			]
    			
    		//创建路由器实例( 路由器中包含了多个路线)
    		 const router = new VueRouter({routes});
    		 
    		
    		new Vue({
    			el:'#app',
    			router,//把路由器挂载到Vue所管理的边界去
    			data(){
    				return{
    				};
    			}
    		})
    		
    	</script>
    </html>
    

    效果图:在这里插入图片描述
    在这里插入图片描述

Vue 项目 SEO 优化实战:从 SPA 到 SSR 服务端渲染(Server-Side Rendering,简称 SSR)是在服务器生成完整 HTML 页面,并将其发送到浏览器。提高搜索引擎爬取效率。加快首屏加载速度。对于简单项目,优化 Vue SPA 的 Meta 信息和加载速度即可满足 SEO 基础需求。对于需要强 SEO 支持的项目,使用 Nuxt.js 实现 SSR 是高效的选择。不断监控网站的性能和爬虫抓取情况,调整策略。 阅读详情

相关推荐

Vue SPA简介与编程实例

Vue SPA(Single-Page Application,单页应用)是指使用Vue.js框架开发的一种前端应用程序,它通过动态地更新页面的一部分,实现了无需刷新整个页面的交互方式。在Vue SPA中,所有的页面切换和数据加载都是在前端进行,通过Ajax或其他方式与后端进行数据交互,从而提供了更流畅、快速的用户体验。然后,我们定义了一个包含两个路由的数组,每个路由都指定了对应的路径和组件。然后,在HTML中定义了一个id为"app"的根元素,作为Vue应用的容器。标签中,从而实现了页面的动态切换。

DevWizard的博客 212

Vue路由

一、Vue路由: 1. SPA是什么 单页Web应用(single page application,SPA),就是只有一个Web页面的应用, 是加载单个HTML页面,并在用户与应用程序交互时动态更新该页面的Web应用程序 单页面应用程序: 只有第一次会加载页面, 以后的每次请求, 仅仅是获取必要的数据.然后, 由页面中js解析获取的数据, 展示在页面中 传统...

weixin_44557427的博客 589

Vue SPA的基本实现原理

通常 SPA 中前端路由有2种实现方式: window.history location.hash 下面就来介绍下这两种方式具体怎么实现的 一.history 1.history基本介绍 window.history 对象包含浏览器的历史,window.history 对象在编写时可不使用 window 这个前缀。history是实现SPA前端路由是一种主流方法,它有几个原始方法: his...

skysys的研究小屋 1469

vue中关于SPA单页面的使用场景和优缺点(都在这了)

SPA(single-page application),翻译过来就是单页应用SPA是一种网络应用程序或网站的模型,它通过动态重写当前页面来与用户交互,这种方法避免了页面之间切换打断用户体验在单页应用中,所有必要的代码(HTMLJavaScript和CSS。

贫僧法号依平 2169

混合动作空间在强化学习中的创新应用:PDQN与MPDQN算法解析

本文深入解析了强化学习中处理混合动作空间的PDQN与MPDQN算法。针对既有离散选择又有连续调节的复杂决策场景,PDQN通过参数化深度Q网络,巧妙结合DQN与DDPG进行交替优化;MPDQN则进一步改进,为每个离散动作提供专属参数评估以减少干扰。文章通过游戏、自动驾驶等实例阐述了其应用价值与面临的挑战。

efc123456的博客 861

electron打包客户端在rk3588上支持h265硬解

前言我们的客户端程序是用electron打包的前端程序,其在rk3588主机上的linux环境运行。之前使用客户端查看h264编码的视频直播是没有问题的,但视频源更改为h265编码后就不能查看了,奇怪的是打包的windows客户端则可以正常查看,另外rk3588主机上的chromium浏览器也是支持播放h265编码的视频的,并且是硬件解码。

lxkj_2024的博客 2006

Vue.js实战:构建现代单页应用程序(SPA)的实用指南

单页应用程序是一种Web应用程序或网站,通过动态加载所有相关的代码,使用户在浏览过程中感受不到页面的重新加载。通常,SPA使用Ajax、WebSocket等技术在后台与服务器进行数据交互,实现异步加载内容,提供更流畅的用户体验。Vue.js是一套用于构建用户界面的渐进式JavaScript框架。它专注于视图层,易于集成到其他库或现有项目中。Vue.js的核心库只关注视图层,非常容易学习,同时它也完全可驱动整个单页应用。Vue.js的核心是Vue实例,是Vue应用的入口。

明飞的博客 5296

【STM32项目】老人健康跌倒检测系统实现(附教程PCB资料)

功能概述 跌倒检测 倾倒告警,人体角度倾斜至阈值触发蜂鸣报警 异常运动,加速度超过正常行动阈值时触发报警 心率监测 实时检测心率数据 血氧监测 实时检测采集血氧 血压测量 血压在线测量 红外体温 非接触体温采集方案 接触式体温采集方案 实时定位 中科微GPSGT-U12双频GPS北斗 GLONASS IRNSS定位系统 NEMA数据解析 可扩展高精度定位方案厘米级 屏幕显示 数据采集显示 告警阈值设置 语音提示 1欢迎使用老人智慧监测系统

洋洋的博客 1万+

Vue 2.0 学习(九、SPA-单页面应用 与 前端路由)

Vue 2.0 学习(九、SPA-单页面应用 与 前端路由)

学习笔记! 941

改进爬山算法之六:随机重启爬山算法(Random-Restart Hill Climbing,RRHC)

随机重启爬山算法(Random-Restart Hill Climbing,RRHC)是爬山算法的一种改进策略,是一种启发式搜索算法,旨在通过随机重启来克服传统爬山算法容易陷入局部最优解的局限性,并增加找到全局最优解的概率。随机重启爬山算法通过在多次运行中不断尝试不同的初始解,并在每次运行中执行标准的爬山算法,最终选择所有运行中找到的最佳解作为最终结果。(1)计算复杂度:由于需要多次运行爬山算法,因此算法的计算复杂度可能较高,特别是在解空间较大或每次迭代需要较长时间的情况下。

搏博的专栏 2204

【R】非参数秩和检验(Kruskal-Wallis H)与事后多重比较邓肯检验(Dunn‘s Test)及自动字母标记

非参数检验-Kruskal-Wallis H检验-多个独立样本秩和检验-事后两两比较-邓肯检验(Duncan's test)

captain_keating的博客 6534

Laravel & VueJS - SPA Admin Template 项目推荐

Laravel & VueJS - SPA Admin Template 项目推荐 1. 项目基础介绍与主要编程语言 Laraspace 是一个基于 Laravel 5.7 的管理后台起始模板,它集成了 Laravel 和 VueJS,为开发者提供了一个包含所有必要模板和功能的起始点,以快速搭建自己的 web 应用程序。本项目主要使用 PHP 作为后端开发语言,Vue.js 作为前端开发框...

gitblog_00029的博客 729

【网络与爬虫 62】小程序爬虫终极攻略:微信支付宝小程序数据采集完全指南

本文深入解析微信和支付宝小程序的爬虫技术,从基础架构分析到高级逆向工程,涵盖WXML/AXML模板解析、API接口拦截、网络流量分析等核心技术。通过实战案例和代码示例,帮助开发者掌握小程序数据采集的完整技术栈。

熵数实验室 3415

vue-spa

Vue全家桶 课程目标: 1 能够说出Vue全家桶的各个组件(Vue-CLI、Vue-Router、Vuex、Axios)的概念、功能和使用场景 2 能够使用Vue全家桶进行项目开发 0 前置知识-ES6模块化 0.1 目标 能够说出模块化的概念 能够使用export关键字和import关键字 0.2 路径 什么是模块化 export关键字的用法 import关键字的用法 备注:此处的代码暂时无法执行,待本章课程内容学习完,就可以运行 0.3 体验 0.1.1 什么是模块化 模块化就是把代码进行拆分

weixin_46202648的博客 1235

2025年7月5日全国青少年信息素养大赛图形化(Scratch)编程小学低年级组复赛真题+答案

2025年7月5日全国青少年信息素养大赛图形化(Scratch)编程小学低年级组复赛真题+答案

伶俐角少儿编程 898

Python爬虫教程:抓取地方政府网站的公开文件与政策信息

Web爬虫是指一种自动化脚本,用于模拟人类浏览器访问网页、提取网页内容的数据抓取工具。发送请求到目标网页;获取网页内容;解析网页内容,提取所需数据;将数据保存或进一步处理。爬虫可以抓取各种形式的数据,如文本、图片、文件等。本教程将重点展示如何抓取地方政府网站上公开的政策文件、公告等信息。许多政府网站都会采取一定的反爬虫措施,防止大量数据被爬取。IP封锁:如果短时间内大量请求来自同一IP,可能会被封锁。验证码:一些网站会使用验证码来验证访问者是否为机器人。动态加载。

2201_76125261的博客 1980

vuejs 预渲染插件 prerender-spa-plugin 生成多页面 -- SEO

prerender-spa-plugin 与 vue-meta-info 前端vue等框架打包的项目一般为SPA应用,而单页面是不利于SEO的,现在的解决方案有两种: 1、SSR服务器渲染   了解服务器渲染请进,这里不做记录。 2、预渲染模式 这比服务端渲染要简单很多,而且可以配合 vue-meta-info 来生成title和meta标签,基本可以满足SEO的需求 TIPS: 使用预渲染vue-router必须使用history模式 安装prerender-spa-plugin // 安装 npm

qq_26282869的博客 1390

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

vue中SPA与路由

vue中SPA与路由一、什么是SPA??单页面应用程序传统多页面应用程序优势二、SPA实现思路和技术点 一、什么是SPA?? 单页Web应用(single page application,SPA),就是只有一个Web页面的应用,是加载单个HTML页面,并在用户与应用程序交互时动态更新该页面的Web应用程序 单页面应用程序 只有第一次会加载页面, 以后的每次请求, 仅仅是获取必要的数据.然后, 由页面中js解析获取的数据, 展示在页面中 传统多页面应用程序 对于传统的多页面应用程序来说, 每次请求服务器返回

小七 621

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

vue spa php,使用Laravel 和 Vue 构建一个简单的SPA

本教程是作者自己在学习Laravel和Vue时的一些总结,有问题欢迎指正。Laravel是PHP的一个框架,Vue是前端页面的框架,这两个框架如何结合起来构建一个SPA(Single Page Application)呢?流程大致分为下面三步:页面请求Laravel的一个路由路由返回渲染一个包含了Vue的SPA框架在上面渲染出来的框架中使用Vue来加载不同的页面单元模块主要会学习使用到三个东西:l...

weixin_42132352的博客 384

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Single-Spa Vue 使用教程

Single-Spa Vue 使用教程 项目介绍 Single-Spa Vue 是一个用于将 Vue 应用集成到 Single-Spa 生态系统中的库。Single-Spa 是一个用于前端微服务的 JavaScript 框架,允许你将多个前端应用组合成一个单一的应用程序。Single-Spa Vue 提供了一种简单的方式来将 Vue 应用作为 Single-Spa 的子应用运行。 项目快速启动 安...

gitblog_00865的博客 846

SPA与Vue路由

SPA与Vue路由SPASPA是什么?优势SPA实现思路Vue路由 SPA SPA是什么? 单页Web应用(single page application,SPA),就是只有一个Web页面的应用, 是加载单个HTML页面,并在用户与应用程序交互时动态更新该页面的Web应用程序 单页面应用程序: 只有第一次会加载页面, 以后的每次请求, 仅仅是获取必要的数据.然后, 由页面中js解析获取的数据, 展示在页面中 传统多页面应用程序: 对于传统的多页面应用程序来说, 每次请求服务器返回的都是一个完整的页面 优势

m0_47252566的博客 270

Vue路由SPA介绍

SPA是什么 单页Web应用(single page application,SPA),就是只有一个Web页面的应用,是加载单个HTML页面,并在用户与应用程序交互时动态更新该页面的Web应用程序 单页面应用程序: 只有第一次会加载页面, 以后的每次请求, 仅仅是获取必要的数据.然后, 由页面中js解析获取的数据, 展示在页面中 传统多页面应用程序 对于传统的多页面应用程序来说, 每次请求服务器返回的都是一个完整的页面 优势 减少了请求体积,...

qq_64230952的博客 660

【Vue】使用vue-cli搭建SPA项目的路由,嵌套路由

Vue CLI 是一个基于 Vue.js 的官方脚手架工具,用于自动生成vue.js+webpack的项目模板,它可以帮助开发者快速搭建 Vue.js 项目的基础结构,并提供了一系列的开发工具和配置选项。Vue CLI 提供了命令行界面和图形化界面两种方式,开发者可以根据自己的喜好选择使用。使用 Vue CLI,可以轻松进行项目初始化、管理依赖、开发调试、构建打包等常用开发任务,简化了 Vue.js 应用的开发流程,提高了开发效率。创建命令如下:xxx为自己创建项目的名称必须先安装等一些必要的环境。

无法自律的人的博客 1558

【Vue】安装并使用vue-cli搭建SPA项目

vue-cli:它提供了一套交互式的命令行界面,可以帮助开发者初始化项目、配置构建工具、管理依赖等。Vue CLI集成了一些常用的开发工具和最佳实践,使得开发者可以更加高效地开发Vue.js应用程序。

让优秀成为一种习惯! 1382

使用vue-cli搭建SPA项目

vue-cli是vue.js的脚手架,用于自动生成vue.js+webpack的项目模板,创建命令如下: vue init webpack xxx 注:xxx 为自己创建项目的名称;必须先安装vue,vue-cli,webpack,node等一些必要的环境 安装vue-cli命令-npm install (-g、-s、-d) -g:js依赖会下载到node_global中 -s:会被打包(安

weixin_67450855的博客 1228
上一篇: vue之v-for的各种使用
下一篇: Node.js环境搭建
water_java
博客等级 码龄7年 9粉丝 124原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值