当前位置:   article > 正文

《循序渐进Vue.js前端开发实战》电子书学习-第一章-从前端基础到Vue.js 3_循序渐进vue.js 3前端开发实战 pdf

循序渐进vue.js 3前端开发实战 pdf

目录

前端技术演进

HTML入门

开发工具

HTML基础标签

CSS入门

CSS选择器入门

通用选择器

标签选择器

类选择器

ID选择器

CSS样式入门

元素的背景配置

元素的文本配置

边框与边距设置

JavaScript入门

为什么需要

JavaScript语法简介

变量的定义

表达式

函数的定义与调用

条件分支语句

循环语句

渐进式开发框架Vue

第一个Vue应用

实现一个简单的用户登录页面

Vue3的新特性

为什么要使用vue框架


前端技术是互联网的大技术栈里面一个非常重要的分支。前端技术本身也就见证了互联网技术的发展和变迁。

前端技术是通过浏览器将信息呈现给用户所涉及的互联网技术,当然,现在也并非所有前端产品都是通过浏览器展示给用户看,例如微信小程序、支付宝小程序、移动端应用等。

前端基础技术三剑客:HTML5、CSS3、JavaScript。h5和c3使得前端页面的美化程序和交互能力都有了非常大的提升。

前端技术演进

前端技术主要的演变即从静态页面、Ajax阶段、MVC阶段、SPA阶段。

静态页面阶段,前端代码只是后端代码的一部分,浏览器展示给用户的页面都是静态的,页面响应速度慢、只能处理简单的用户交互、也不美观。

Ajax阶段,前端和后端部分分离,前端在展示页面的提示也需要进行数据的管理和用户的交互。后端的工作是提供数据,前端代码变得逐渐复杂。

前端要完成的功能越来越复杂,代码量也就越来越大。所以许多框架应运而生,大多采用MVC或mvvm模式,将前端逻辑里的数据模型、视图展示和业务逻辑分开。

前端技术到spa阶段网站不仅仅是用来展示数据,是一个完整的应用程序,浏览器只需要加载一次网页,用户就可以体验到多页面交互的复杂应用程序,程序响应速度快,用户体验好。

HTML入门

HTML是一种描述性的网页编程语言,我们俗称的超文本标记语言,可以描述文本信息、图片、音频、视频等信息。

其不像其他语言有很全的逻辑处理能力,更确切的说是一种标记语言,定义了一套标记标签来描述和控制网站的渲染。

开发工具

vscode

HTML基础标签

h1到h6定义标题标签

p标签定义段落

a标签是超链接

img标签图像

div盒子

CSS入门

HTML对样式的控制是非常有限的,平常所能看到的五彩斑斓、多姿多彩的网页都归功于CSS的强大能力。

CSS是层叠样式表。用处是定义如何展示HTML元素,通过css控制网页元素的样式极大提高了编码效率。

CSS选择器入门

css代码的语法规范的组成:选择器和声明语句。

声明语句用来定义样式,选择器用来指定要使用当前样式的HTML元素。css中基本的选择器有通用选择器、标签选择器、类选择器和ID选择器。

通用选择器

使用*星号来定义通用选择器,对所有元素都生效

标签选择器

类选择器

配合标签的class属性进行使用

ID选择器

标签的ID属性

CSS样式入门

在实际开发里,常用的是类选择器,可以根据组件的样式将其定义为不同的类,通过类选择器来对组件进行类定义。

CSS提供了非常丰富的样式供开发者进行配置,包括元素背景的样式、文本的样式、边框与边距样式、渲染的位置登封。

元素的背景配置

和背景有关的属性都是以background开头,使用CSS对元素的背景样式进行设置,可以实现相当复杂的元素渲染。

元素的文本配置

对齐方式配置、缩进配置、文字间隔配置等。

边框与边距设置

JavaScript入门

JavaScript是学习vue开发技术的基础。

为什么需要

JavaScript是网页的灵魂,html和css是对网页的渲染进行布局和调整,要使网页具有强大的功能并且可以和用户进行复杂的交互,都需要使用JavaScript来完成。

JavaScript能够动态改变HTML组件的内容。

JavaScript语法简介

JavaScript的语法也是比较简单的,入门是很容易的。主要的特点是不像某些强类型语言那样严格,语句格式和变量类型都比较灵活。

变量的定义

JavaScript使用var或者let来进行变量的定义。两者的差别是变量的作用域的不一样,定义变量的时候,无需关心变量的类型。

表达式

所有的编程语言都存在表达式,表达式由运算符和运算数构成。运算数可以是任何类型的数据,也可以是任意的变量。支持常规运算符,例如+、-、*、/,比较运算符<,>,<=,>=等等。

函数的定义与调用

函数是程序的功能单元,在JavaScript中定义函数主要有两种方法,一种是利用function关键字进行定义,另一种是es6新增的利用箭头函数进行定义。这两种定义函数,在调用的时候方式都是一样的。

条件分支语句

条件语句是JavaScript进行逻辑控制的重要语句,if和else关键词实现。

switch和case也可以实现多分支语句。

循环语句

while循环和for循环

渐进式开发框架Vue

Vue的定义是渐进式的JavaScript框架。渐进式指的是其被设计为可以自底向上逐层应用。我们可以只使用Vue框架中提供的某层的功能,也可以与其他第三方库整合使用。

第一个Vue应用

直接使用CDN的方式进入Vue框架

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <!-- <script src="https://unpkg.com/vue@next"></script> -->
  9. </head>
  10. <body>
  11. <div style="text-align: center;" id="application">
  12. <h1>{{count}}</h1>
  13. <button v-on:click="clickButton">点击</button>
  14. </div>
  15. <script src="https://unpkg.com/vue@next"></script>
  16. <script>
  17. const App={
  18. data(){
  19. return{
  20. count:0
  21. }
  22. },
  23. methods: {
  24. clickButton(){
  25. this.count++
  26. }
  27. },
  28. }
  29. Vue.createApp(App).mount("#application")
  30. </script>
  31. </body>
  32. </html>

首先在head标签里加入了一个script标签,采用CDN的方式引入Vue3的新版本。

然后在body标签里添加一个div盒子,里面加入了一个标题和按钮

h1标签里运用了vue的变量替换功能,v-on:click属性用来进行组件的单击事件绑定。

定义vue组件,在body标签霞添加一个script标签,data方法用来返回组件所需要的数据,methods定义组件所需要的方法函数。

实现一个简单的用户登录页面

需要完成的工作:

1.登录页面需要有标题,提示用户当前的登录状态

2.在未登录时,需要有两个输入框以及登录按钮供用户输入账号、密码和进行登录操作

3.在登录完成后,输入框需要隐藏,需要提供按钮让用户登出

借助vue的单双向绑定和条件渲染功能,这些操作会比元素的JavaScript DOM操作要简单很多。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <script src="https://unpkg.com/vue@next"></script>
  9. </head>
  10. <body>
  11. <div id="Application" style="text-align: center;">
  12. <h1>{{title}}</h1>
  13. <div v-if="noLogin">账号:<input v-model="userName" type="text" /></div>
  14. <div v-if="noLogin">密码:<input v-model="password" type="password" /></div>
  15. <div v-on:click="click"
  16. style="border-radius: 30px;width: 100px;margin: 20px auto;color: white;background-color: blue;">{{buttonTitle}}
  17. </div>
  18. </div>
  19. <script>
  20. const App = {
  21. data() {
  22. return {
  23. title: "欢迎您:未登录",
  24. noLogin: true,
  25. userName: "",
  26. password: "",
  27. buttonTitle: "登录"
  28. }
  29. },
  30. methods: {
  31. click() {
  32. if (this.noLogin) {
  33. this.login()
  34. } else {
  35. this.logout()
  36. }
  37. },
  38. login() {
  39. if (this.userName.length > 0 && this.password.length > 0) {
  40. alert(`userName:${this.userName}
  41. password:${this.password}`)
  42. this.noLogin = false
  43. this.title = `欢迎您:${this.userName}`
  44. this.buttonTitle = "注销"
  45. this.userName = ""
  46. this.password = ""
  47. } else {
  48. alert("请输入账号密码")
  49. }
  50. },
  51. logout() {
  52. this.noLogin = true
  53. this.title = "欢迎您:未登录"
  54. this.buttonTitle = "登录"
  55. }
  56. }
  57. }
  58. Vue.createApp(App).mount("#Application")
  59. </script>
  60. </body>
  61. </html>

效果图:

 

Vue3的新特性

 vue3的设计目标:

1.更小的尺寸和更快的速度

2.更加现代化的语法特性,加强了typescript的支持

3.在api设计方面,增强统一性和一致性

4.提高前端工程的可维护性

5.支持更多、更强大的功能,提高开发者的效率

vue2和3的差别

2的时代,最小化被压缩的vue核心代码约为20kb,目前3的有10kb,大小减少了一半。在前端开发中,依赖模块越小,意味着更少的流量和更快的速度。

3中,虚拟dom的设计也进行了优化,引擎可以更加快速地处理局部的页面元素修改,在一定程度上提升了代码的运行效率,vue3页配套进行了更多编译时的优化,例如将插槽编译为函数等。

代码风格方面。3基本弃用了类风格的Api,而推广采用函数风格的API,以便更好的对typescript进行支持。这种编程风格更利于组件的逻辑复用,例如v3组件中心引入的setup(组合式api)方法,可以让组件的逻辑更加聚合。

v3中也添加了一些新组件,例如teleport。

为什么要使用vue框架

在学习阶段,可以使用三件套开发一些简单的静态页面,但是大型商业应用要完成的代码量会非常大,要编写的功能函数会很多,而且对于交互复杂的项目来说,不使用框架开发,后期维护和扩展非常困难。

既然选择使用框架,为什么一定是vue呢?web早期,jQuery的JavaScript框架非常流行,其内部封装了大量的JavaScript函数,可以帮助开发者操作dom,并且提供了事件处理、动画和网络的相关接口。当时的前端页面更多是用来进行展示的,所以使用jquery框架足以应付所需要的逻辑交互操作。后来互联网发展,就诞生了angularjs框架,这种框架的核心是响应式和模块化,其使得前端页面的开发方式发生了变革,前端可以自行处理非常复杂的业务逻辑,前后端的职责也逐渐分离,前端从页面展示向单页面应用发展。

angularJS虽然强大,但是确定也非常明显:

1.学习曲线陡峭,入门难度高

2.灵活性很差

3.速度性能差

4.某些api设计复杂,使用麻烦

所以为了应对这些问题,vue和react出现了。

这两种框架在前端项目开发中平分秋色,都是非常优秀的框架。设计上,这两个有很多的相似之处,比如相较于功能齐全的angularjs来说,他们都是骨架类的框架,即只包含基础的核心功能,路由、状态管理都需要考分离的插件来支持。逻辑上,v和r都是基于虚拟dom树的,改变页面真实dom树比改变vdom的开销要大很多,所以这两者的性能都非常优秀。v和r都采用组件化的方式进行编程,模块之间通过接口进行连接,方便维护和扩展。

v和r也有很多不同之处。

v的模板编写采用的是类似HTML的模板方式,写起来和标准的HTML很像,只是多了一些数据绑定和事件交互的方式。r采用jsx编写模板,虽然这种编写方式提供的功能更加强大,但是JavaScript混合xml的语言会使得代码看上去很复杂。v和r的还有一个很大的区别就是组件状态管理,v的状态管理本身非常简单,局部的状态在data中进行定义,其默认就被赋予了响应性。修改的时候直接将对应属性更改即可,全局状态管理有vuex来完成。r的状态管理不能直接修改,需要使用setstage方法进行更改。

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/190866
推荐阅读
相关标签
  

闽ICP备14008679号