前端开发之走进Vue.js

vue.js前端应用技术分析 互联网与人们的关系越加紧密,人们对web端的要求也越来越高。传统的DOM操作需要繁琐的选择器查找,还要逐级还原JSON数据,整个开发过程不但繁琐还容易出现问题。因而VUE.JS这种基于MVVM架构模式的前端应用技术应时而生。 立即下载

0?wx_fmt=gif

Vue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式。本文旨在帮助大家认识Vue.js,了解Vue.js的开发流程,并进一步理解如何通过Vue.js来构建一个中大型的前端项目,同时做好相应的部署与优化工作。

文章将以PPT图片附加文字介绍的形式展开,不会涉及知识点的具体代码,点到为止。有兴趣的同学可以查看相应的文档进行了解。

Vue.js简介

0?wx_fmt=jpeg

从上图的介绍中我们不难发现Vue.js是一款轻量级的以数据驱动的前端JS框架,其和jQuery最大的不同点在于jQuery通过操作DOM来改变页面的显示,而Vue通过操作数据来实现页面的更新与展示。下面便是Vue数据驱动的概念模型:

0?wx_fmt=jpeg

Vue.js主要负责的是上图绿色正方体ViewModel的部分,其在View层(即DOM层)与Model层(即JS逻辑层)之间通过ViewModel绑定了DOM Listeners与Data Bingings两个相当于监听器的东西。

当View层的视图发生改变时,Vue会通过DOM Listeners来监听并改变Model层的数据。相反,当Model层的数据发生改变时,其也会通过Data Bingings来监听并改变View层的展示。这样便实现了一个双向数据绑定的功能,也是Vue.js数据驱动的原理所在。

Vue实例

0?wx_fmt=jpeg

在一个html文件中,我们直接可以通过script标签引入Vue.js,然后就可以在页面里写Vue.js代码了。上图中我们通过new Vue()构建了一个Vue的实例,在实例中,可以包含挂在元素(el),数据(data),模板(template),方法(methods)与生命周期钩子(created等)等选项。不同的实例选项拥有不同的功能,如:

(1)el表明我们的Vue需要操作哪一个元素下的区域,’#demo’表示操作id为demo的元素下区域。data表示Vue 实例的数据对象,data 的属性能够响应数据的变化。created表示实例生命周期中创建完成的那一步,当实例已经创建完成之后将调用其方法。

Vue常用指令

0?wx_fmt=jpeg

在Vue项目的开发中,我们使用的最多的应该就属Vue的指令了。通过Vue提供的常用指令,我们可以淋漓尽致地发挥Vue数据驱动的强大功能。以下便是图中常用指令的简单介绍:

(1)v-text: 用于更新绑定元素中的内容,类似于jQuery的text()方法v-html: 用于更新绑定元素中的html内容,类似于jQuery的html()方法v-if: 用于根据表达式的值的真假条件渲染元素,如果上图P3为false则不会渲染P标签v-show: 用于根据表达式的值的真假条件显示隐藏元素,切换元素的 display CSS 属性v-for: 用于遍历数据渲染元素或模板,如图中P6为[1,2,3]则会渲染3个P标签,内容依次为1,2,3v-on: 用于在元素上绑定事件,图中在P标签上绑定了showP3的点击事件

关于更多的Vue指令可以查看Vue2.0文档,地址:https://vuefe.cn/api/#指令

Vue.js技术栈

0?wx_fmt=jpeg

以上我们讲到可以直接在一个html页面里通过引入Vue.js来直接写Vue代码,但是这样的方式并不常用。因为如果我们的项目比较大,项目中会存在很多页面,一旦每个页面都引入一个Vue.js或者声明一个Vue实例,这样非常不利于后期的维护和代码的公用,也会存在实例名冲突的情况,所以我们需要用到Vue提供的技术栈来构建强大的前端项目。

除了Vue.js我们还需要用到:

(1)vue-cli:Vue的脚手架工具,用于自动生成Vue项目的目录及文件。vue-router: Vue提供的前端路由工具,利用其我们实现页面的路由控制,局部刷新及按需加载,构建单页应用,实现前后端分离。vuex:Vue提供的状态管理工具,用于同一管理我们项目中各种数据的交互和重用,存储我们需要用到数据对象。ES6:Javascript的新版本,ECMAScript6的简称。利用ES6我们可以简化我们的JS代码,同时利用其提供的强大功能来快速实现JS逻辑。NPM:node.js的包管理工具,用于同一管理我们前端项目中需要用到的包、插件、工具、命令等,便于开发和维护。webpack:一款强大的文件打包工具,可以将我们的前端项目文件同一打包压缩至js中,并且可以通过vue-loader等加载器实现语法转化与加载。Babel:一款将ES6代码转化为浏览器兼容的ES5代码的插件

利用以上等技术,我们便可以开始构建我们的Vue项目了。

构建大型应用

0?wx_fmt=jpeg

在构建我们的中大型Vue项目中,我们主要介绍如何利用vue-cli来自动生成我们项目的前端目录及文件,了解Vue中一切皆组件的概念及父子组件的通信问题,讲解在Vue项目中我们如何使用第三方插件,最后利用webpack来打包及部署我们的项目。

vue-cli构建

0?wx_fmt=jpeg

在使用vue-cli之前我们需要安装node.js,利用其提供的npm命令来安装vue-cli。安装node.js只需去其官网下载软件并安装即可,地址为:https://nodejs.org/en/

安装完成之后我们打开电脑的cmd命令行工具依次输入上图中的命令:

(1)npm install -g vue-cli:全局安装vue-clivue init webpack my-project: 利用vue-cli在目录地址生成一个基于webpack的名为’my-project‘的Vue项目文件及目录cd my-project:打开刚刚创建的文件夹npm intall:安装项目所依赖的包文件npm run dev:利用本地node服务器在浏览器中打开并浏览项目页面

这样我们的一个基于webpack的vue项目目录就构建好了。

单文件组件

0?wx_fmt=jpeg

在刚刚构建好的vue项目中,我们会发现一个App.vue和Hello.vue的文件,那么像这样的以.vue后缀结尾的文件便是我们Vue项目中常见的单文件组件。单文件组件包含了一个功能或模块的html、js及css。在.vue文件中,我们可以在template标签中写html,在script标签中写js,在style标签中写css。这样一个功能或模块就是一个.vue组件,对于组件公用和后期的维护也非常便捷。

父子组件通信

0?wx_fmt=jpeg

那么像这样在以单文件组件为核心的项目开发中,我们一定会想到一个问题,就是.vue父子组件之间是如何交换数据来实现通信的呢?在Vue2.0中提供了props来实现父组件向子组件传递数据,通过$emit来实现子组件向父组件传递数据。当然如果是较为复杂和普遍的数据交互,建议大家使用vuex来同一管理数据。详情请见:https://vuefe.cn/guide/components.html#使用Props传递数据

插件使用

0?wx_fmt=jpeg

接下来我们介绍下在基于webpack的vue项目中我们是如何使用插件的,主要有两种情况:

(一)全局使用

(1)在index.html引入:这样的方式不推荐使用,因为存在先后加载顺序的问题,有些插件不支持这一方式。通过webpack配置文件引入:主要通过plugin配置项的webpack.ProvidePlugin()方法实现,不过只适合支持CommonJs规范并提供一个全局变量的插件,如jQuery中的$。通过import + Vue.use()引入:这种方式需要在全局.vue文件中import需要加载的插件,然后通过Vue.use(‘插件变量名’)来实现,不过此方法只支持遵循Vue.js插件编写规范的插件使用,如vue-resourece。

(二)单文件使用

(1)通过import直接引入:这种方式可以在需要调用插件的.vue文件中使用,不过需要注意和实例的创建顺序问题,或者也可以通过require引入。

(2)import + components注册:此方式为Vue组件的使用方式,可以在一个组件中注册并使用一个子组件。

部署及优化

0?wx_fmt=jpeg

当我们搞定整个Vue项目的前端编码阶段后,我们需要对我们的前端项目文件进行部署和优化工作,主要的几个方式如下:

(1)使用webpack的DefinePlugin指定生产环境:通过plugin中的DefinePlugin配置,我们可以声明’process.env’属性为’development’(开发环境)或者’production’(生产环境),结合npm配置文件package.json中scripts的命令来切换环境模式十分方便。

(2)使用UglifyJs自动删除代码块内的警告语句:一般在生产环境的webpack配置文件中使用,通过new webpack.optimize.UglifyJsPlugin()来进行配置,删除警告语句可以缩减文件的体积。

(3)使用Webpack hash处理缓存:当我们需要对发布到线上的文件进行修改时,重新编译的文件名如果和之前版本的相同会引起浏览器无法识别而加载缓存文件的问题。这样我们需要自动的生成带hash值的文件名来阻止缓存。详见:https://segmentfault.com/a/1190000006178770#articleHeader7

(4)使用v-if减少不必要的组件加载:v-if指令其实很有用处,它可以让我们项目中暂时不需要的组件不进行渲染,等需要用到的时候在渲染,比如某个弹窗组件等。这样我们可以减少页面首次加载的时间和文件量。

除了以上几点的优化,还有很多优化选择,有兴趣的童鞋可以好好地了解下webpack的API文档,毕竟webpack的功能十分强大。

数据驱动实例

0?wx_fmt=jpeg

这是我之前利用Vue.js数据驱动的原理写的一个拼图游戏,希望能够供大家进一步了解Vue数据驱动的理念。

演示地址:https://luozhihao.github.io/vue-puzzle/index.html

代码地址:https://github.com/luozhihao/vue-puzzle/blob/master/src/App.vue

总结

本文以PPT图片附加文字介绍的形式简单介绍了Vue.js的知识点及开发流程,并将前端自动化、组件化、工程化的理念贯穿其中,由浅入深地阐述了Vue.js“简单却不失优雅,小巧而不发大匠”的独特魅力。


关于公众号: 前端呼啦圈,一个汇聚前端知识,普及前端技术的地方。

公众号原创作者: 劳卜

0?wx_fmt=png长按识别,关注我们

Vue.js前端开发实战-源代码.zip 立即下载

相关推荐

避免踩坑!WIN11 22H2更新后共享打印机失效的终极解决方案

本文详细解析了WIN11 22H2更新后共享打印机失效的问题,特别是常见的0x00000709错误代码。通过系统更新机制分析、错误代码解读,提供从基础到高级的完整解决方案,包括注册表修复、组策略调整和驱动兼容性处理,帮助用户彻底解决打印机共享问题并预防未来故障。

pp12345的博客 533

使用vue构建组件化开发项目

参考链接:链接: link. 一、搭建环境 1、首先安装node环境,这里就不详细讲了。 2、然后搭建vue 项目环境,全局安装vue. 3、安装完vue之后,进入你的项目目录,创建一个基于webpack模板的新项目:vue init webpack 项目名 4、进入项目:cd 项目名,安装依赖,安装成功之后会多出一个node_modules目录。 5、npm run dev,启动项目,启动...

qq_39784865的博客 1642

距离多普勒谱(RD谱)绘制方法及理解

RD谱是信号处理领域常用的图形。原始信号往往是一维时域序列,如何将其二维化,并进行变换生成RD谱呢?由于刚刚接触,查阅了网络上、老师手里的资料,发现RD谱的绘制方法并不统一,有些存在一定问题。在此,将心得体会记录下来。

mddh_123的博客 3万+

初识vue.js,vue.js入门

vue.js入门一、vue.js简介1.1 vue.js是什么1.2 vue.js的特点1.3 vue.js的作者及官网二、vue.js的基础知识2.1 vue.js的安装2.2 el:挂载点2.3 data:数据对象2.4 Vue指令2.4.1 v-text2.4.2 v-html2.4.3 v-on2.4.4 v-show2.4.5 v-if2.4.6 v-bind2.4.7 v-for2.4...

ShootingStar_1998的博客 4320

大学物理第二章 质点动力学详解

大学物理第二章 质点动力学概念详解

weixin_63026364的博客 1万+

APS项目大都失败告终?

通过上述分析,APS从二十多年前的流行到如今的实施困境,背后涉及企业自身、供应商、项目管理等原因,既有理论发展的复杂性增加的原因,也有企业对APS期望值过高和误解的因素。APS(Advanced Planning and Scheduling)高级排程系统是一种高度智能化的计划和排程系统,它通过整合各种生产和供应链数据,运用先进的算法和数据模型,根据各种约束条件,如资源限制、交货期、生产能力等,以最优的方式规划和调度生产活动,从而为生产计划提供最优解决方案。高级管理层的支持对于APS项目的成功至关重要。

数字化藏经阁 1343

【Vue.js基础】1、初识Vue.js:安装与基本用法

Vue.js是一个由尤雨溪(Evan You)开发的渐进式JavaScript框架,专注于构建用户界面。凭借其简单易用的API和灵活的架构,Vue.js能够轻松集成到项目中,也可以用于开发复杂的单页应用(SPA)。Vue.js采用双向数据绑定和基于组件的开发模式,显著提升了开发效率和代码复用性。其丰富的生态系统,包括Vue CLI、Vue Router和Vuex等工具,使得Vue.js成为现代Web开发中备受欢迎的选择。无论是初学者还是经验丰富的开发者,Vue.js都提供了强大的功能和极佳的开发体验。

weixin_52938153的博客 855

【RTD】二分法查找和分段线性插值算法在RTD中应用

二分法查找和分段线性插值算法在RTD中的典型应用。

只要思想不滑坡,想法总比问题多。 2368

Vue.js介绍

一、基本概述:由尤雨溪在2014年作为其个人项目创建, 是前端的一个框架,核心只关注视图层,便于与第三方库或即有项目整合。二、Vue安装三、Vue程序指令,v-show,v-bind,v-for......四、Vue 实例生命周期

weixin_63541561的博客 3103

73、结合无人机进行rk3588oak-lite跟踪目标物体进行识别、跟踪

搭建仿真转换模型环境,主要python版本和我下载的rknn2的版本。截取shape节点,输出模型。so库也要对应转模型的whl。其中安装的whl版本。

sxj731533730 1623

【深度学习】什么是自回归模型?

自回归模型是一种重要的时间序列模型,通过利用过去的值来预测当前或未来的值。它在统计学、经济学、自然语言处理等领域有广泛的应用。自回归模型的简单性和可解释性使其成为许多应用的首选,但在更复杂的情况下,可能需要结合其他模型如移动平均模型(MA模型)或混合模型(如ARIMA)来更好地捕捉时间序列中的模式。扩散模型(Diffusion Model)和自回归模型(Autoregressive Model)是两种不同的生成模型,各自有独特的特点和应用场景。

q742971636的博客 1670

前端开发之走进Vue.js(入门者看过来)

前端开发走进vue

weixin_52703987的博客 921

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

前端开发之走进 Vue.js

Vue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式。本文旨在帮助大家认识Vue.js,了解Vue.js的开发流程,并进一步理解如何通过Vue.js来构建一个中大型的前端项目,同时做好相应的部署与优化工作。 文章将以PPT图片附加文字介绍的形式展开,不会涉及知识点的具体代码,点到为止。有兴趣的同学可以...

weixin_34239592的博客 127

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

老版QQ原生表情gif动态

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

DeepSeek V4.1 Flash API接入实测:只需改模型名,兼容OpenAI格式

在构建AI应用时,API的兼容性与模型切换的灵活性往往直接影响开发效率。当前主流大模型服务普遍采用OpenAI兼容的接口规范,通过统一的Chat Completions协议,开发者只需调整请求体中的模型标识符即可路由到不同能力的后端模型,而无需改动任何业务代码。这种设计让“模型替换”在工程层面变得异常轻量。DeepSeek V4.1 Flash正是这一类轻量化模型的代表,它在保持对话生成质量的同时,显著提升了响应速度、降低了调用成本,特别适合客服机器人、批量内容处理及Agent工具链中高频、低延迟的中间步骤

weixin_34355559的博客 338

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

前端开发入门书籍推荐:Vue.js 3与前端基础的完美组合

这两本前端开发入门书籍形成完美互补:《循序渐进Vue.js 3前端开发实战》从基础到进阶系统讲解Vue 3框架,重点介绍新特性;《网页设计与制作》则夯实HTML5、CSS3和JavaScript三大基础。建议先掌握基础知识,再结合框架学习,通过实践案例巩固技能。这套组合能帮助初学者建立完整的前端知识体系,避免走弯路,是值得投资的系统学习方案。

weixin_56334307的博客 718

**探索前端开发的奇妙世界:从入门到精通**作者:技术小达人一、引言你是否曾想过,那些丰富多彩的网页背后,是如何被设计和开发出来的?今天,让我们一起走进前端开发的奇妙世界,探索如何成为一名优秀的前端开

此外,还将介绍一些跨平台开发框架和工具的使用方法和优缺点,帮助读者更好地进行技术选型和实践。通过本文的学习,读者将能够全面了解前端开发的基础知识、热门框架以及性能优化和跨平台开发等前沿话题。同时,通过代码示例和案例分享,让读者更好地理解和掌握前端开发的核心技术和实践方法。希望通过本文的学习和实践,读者能够掌握前端开发的核心技术和实践方法,成为一名优秀的前端开发者。我们将从HTML/CSS的基础知识开始,逐步深入了解React、Vue.js等热门框架,一起探讨前端性能优化、跨平台开发等前沿话题。

2401_89451588的博客 287
上一篇: 浅谈Vue.js
下一篇: 我们为什么要尝试前后端分离
劳卜
博客等级 码龄10年 5粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值