前端——框架——Vue

提示:

本文只是从宏观角度简要地梳理一遍vue3,不至于说学得乱七八糟、一头雾水、不知南北,如果要上手写代码、撸细节,可以根据文中的关键词去查找资料
简问简答:

  • vue.js是指vue3还是vue2?

    • Vue.js通常指的是Vue.js 2,当需要引用Vue.js 3时,会明确指出是Vue.js 3
  • vue2和vue3有什么区别?

    • vue3是对vue2的改进、补充
  • vue3可以完全替代vue2吗?

    • Vue 3 可以在大多数情况下完全替代 Vue 2,尤其是对于新项目来说,
  • vue3可以拿来干嘛?

    • 可以用来开发现代化的 Web 应用程序
  • 学vue2还是vue3?

    • Vue 2 已于 2023 年 12 月 31 日停止维护,从vue3开始学即可
  • 做后端的学vue3要学到什么程度?

    • 即使做后端,也得要看懂前端的代码,否则难以进行前后端交互,做全栈开发工程师也挺不错的(多牛),所以最好把热门的几个前端开发框架学好
  • 应该怎么学好vue3?

    • 来自搜狗AI的建议

    • vue官方文档:简介 | Vue.js (vuejs.org)

    • 书籍:《Vue3.x+TypeScript》邹琼俊 著
      vue3的学习重点:

  • **基本概念:**了解Vue.js的基本概念,如组件、状态管理、路由等。

  • **组件化开发:**学习如何创建和使用Vue组件,以及组件之间的通信和复用。

  • **状态管理:**掌握Vue.js 3中的状态管理工具,如Vuex,以便管理应用的状态和数据流。

  • **路由管理:**了解Vue Router,学会实现前端路由控制。

  • **API调用:**掌握如何在Vue.js 3应用中发起后端API调用,处理异步请求和响应。

  • **前端构建工具:**熟悉前端构建工具,如Webpack或Vue CLI,以便进行项目打包和管理。

  • **组件式API(Composition API):**深入了解Vue.js 3中新增的组合式API,这是一个重要的新特性,能够帮助你更好地组织你的代码和逻辑。

  • **前端生态系统:**熟悉前端生态系统,包括其他流行的前端框架、库和工具,以便在开发过程中能够更好地与其他前端开发者协作

补充:

  • 掌握TypeScript语言的基本语法

一、基本概念

  • vue:是一套用于构建用户界面的渐进式框架

  • 组件

    • 组件是 Vue.js 中用来封装可重用代码的基本单位。

    • 它们可以包含模板、脚本和样式,用于构建用户界面的独立功能单元。通过组件化,我们可以将复杂的界面拆分成小的、独立的组件,便于维护和重用。

    • 组件可以通过单文件组件(.vue 文件)或者使用 Vue.component() 方法来定义和使用。

    • 理解如何创建和组织 Vue 组件,并掌握组件间通信和复用的方法。

  • 响应式原理

    • 响应式原理是指在 Vue 中数据的变化可以自动地反映到视图上,而无需手动更新视图。

    • 实现了数据和视图的自动同步,大大简化了前端开发中的数据管理和视图更新工作

      • 1、通过Proxy(代理)拦截对 data 任意属性的任意操作(属性值的读写、添加、删除......)

      • 2、通过Reflect(反射)动态地对被代理对象的相应属性进行特定的操作

    • 理解 Vue 3 中的响应式系统,包括数据绑定、计算属性和侦听器。

  • 组合式 API

    • 它是一种新的方式来组织组件的逻辑代码。

    • 传统的 Options API 将组件的属性、生命周期钩子和方法都放在一个对象中,而组合式 API 则允许你根据功能将逻辑代码划分成更小的函数,使得代码更易于维护和重用。

    • 组合式 API 也提供了更多的工具函数来处理组件的复杂逻辑,例如 ref、reactive、watchEffect 等

    • 掌握 Vue 3 中新增的组合式 API,这是一个强大的工具,提供了更灵活的组件逻辑复用方式。

  • 路由

    • 路由是指在Web开发中用于定义页面间导航和页面之间关系的一种机制。

    • 在Vue.js中,通常使用Vue Router来实现路由功能。通过Vue Router,你可以定义不同URL路径和对应的组件,使得在浏览器地址栏输入不同的路径或者点击页面链接时,能够显示不同的组件内容,实现页面之间的切换和导航。

    • 在单页应用(Single Page Application)中,路由的概念尤为重要。它使得用户能够在不同的页面间进行交互,同时还可以保持整个应用的状态,而无需每次跳转都重新加载页面。通过路由,可以实现页面的动态加载、参数传递、嵌套路由等功能,为用户提供更流畅的浏览体验。

    • 学习使用 Vue Router 实现单页面应用程序的导航和路由控制。

  • 状态管理

    • 状态管理是一种在应用程序中管理和跟踪数据状态的方法。

    • 在前端开发中,状态管理通常用于管理页面和组件之间共享的数据,以及应用程序的全局状态。通过状态管理,开发者可以更轻松地跟踪和更新应用程序中的数据,确保数据的一致性和可靠性,以及提供更好的数据流管理和响应式更新。

    • 了解如何使用 Vuex 管理应用程序的状态,以及它与 Vue 3 的集成方式。

  • 生态系统工具

    • Vue.js 3 的生态系统工具包括但不限于:

      • Vue CLI:Vue 官方提供的命令行工具,用于快速搭建 Vue 项目、管理项目配置和依赖。

      • Vuex:Vue 官方推荐的状态管理库,用于管理应用中的状态。

      • Vue Router:Vue 官方推荐的路由管理库,用于处理单页面应用的路由。

      • Vue Test Utils:Vue 官方提供的测试工具库,用于编写单元测试和端到端测试。

      • Vue DevTools:浏览器插件,用于调试 Vue 应用程序,提供了组件层次结构、状态管理等可视化工具。

      • Vite:Vue Next 官方推荐的快速构建工具,用于在开发环境下进行快速热更新和构建。

      • ESLint 和 Prettier:代码规范和格式化工具,可以帮助你在开发过程中保持代码风格的统一性。

    • 熟悉 Vue DevTools、Vue CLI 等周边工具的使用,这些工具能提升开发效率。

  • Vue 3 新特性

    • Vue 3 最显著的特性包括:

      • Composition API(组合式 API):Vue 3 引入了 Composition API,它使得组件的逻辑更容易复用和组织。它允许开发者通过逻辑相关性而不是选项或生命周期,对组件代码进行组织。

      • Teleport(传送门):这是一个能够在组件内的任何地方渲染内容的新特性,尤其适用于处理模态框、弹出菜单等场景。

      • Suspense(悬念):这是一种能够在异步组件渲染过程中展示占位内容的机制,使用户体验更加流畅。

      • Proxy-based observation(基于代理的观察):Vue 3 使用 ES2015 的 Proxy 对象作为响应式系统的基础,这带来了更好的性能和更多的响应式能力。

    • 掌握 Vue 3 中新增的特性,如 Teleport、Suspense、自定义指令等,以及它们的用途和实际应用场景。

二、组件化开发

  • Vue的组件化开发是指将前端应用划分为多个独立的组件,每个组件有自己的结构、样式和行为逻辑。
  • 通过组件化开发,可以将复杂的用户界面拆分成多个相互独立、可复用的组件,使代码结构更清晰、维护更方便。
  • 在Vue中,组件化开发是通过Vue组件来实现的,每个Vue组件可以包含自己的HTML模板、CSS样式和JavaScript逻辑,因此可以实现组件间的高度复用和解耦。
    1、定义组件
css 复制代码
// 定义一个名为hello-world的组件
Vue.component('hello-world', {
  template: '<h1>Hello World!</h1>'
})

2、在应用中使用组件

css 复制代码
<div id="app">
  <hello-world></hello-world>
</div>

以上代码将会在页面中显示"Hello World!"

3、组件通信

  • 父子通信
    • 方式一:父向子传递数据:props,子向父传递数据:$emit / $on
    • 方式二:$emit / $bus
    • 方式三:Vuex
    • 方式四:$parent / $children
    • 方式五:ref
  • 兄弟通信
    • 方式一:$emit / $bus
    • 方式二:Vuex
  • 跨级通信
    • 方式一:$emit / $bus
    • 方式二:Vuex
    • 方式三:provide / inject API
    • 方式四:$attrs / $listeners

三、状态管理

  • 在 Vue 中,状态管理通常是通过Vuex来实现的。
  • Vuex是一个专门为Vue.js应用程序开发的状态管理模式。
  • 它允许您在一个集中的仓库中管理应用中的所有组件的状态,并且以一种响应式的方式进行更新。
  • 使用Vuex进行状态管理操作:
      1. 安装Vuex:您可以使用npm或者yarn来安装Vuex到您的Vue.js项目中。
      1. 创建一个store:在您的Vue.js项目中创建一个store,它将包含着应用的状态和相关的逻辑。
      1. 定义状态:在store中定义您应用的状态,这些状态将会被共享和管理。
      1. 创建mutations:定义mutations来改变状态,mutations就是提交状态变更的方法。
      1. 创建actions:如果您需要进行异步操作,您可以创建actions来提交mutations。
      1. 在组件中使用状态:在您的Vue组件中,您可以使用Vuex提供的辅助函数来访问状态,并且使用mutations和actions来改变状态。
  • 通过这些步骤,您就可以使用Vuex来进行状态管理了。Vuex的核心概念是单向数据流,它帮助您更好地组织和管理应用的状态,并且使得状态的变更变得可追踪和可预测。

四、路由管理

  • 在 Vue 中,路由管理通常是使用 Vue Router 进行的。Vue Router 是 Vue.js 官方的路由管理器,可以实现单页面应用的路由控制。
  • Vue Router官方文档:入门 | Vue Router (vuejs.org)
  • Vue Router的一些重要功能:
    • 组件化呈现:Vue Router可以帮助将页面模块化为组件,并定义路由来加载和展示这些组件。

    • 嵌套路由:Vue Router可以支持嵌套路由,允许您在一个路由内部再定义子路由,从而创建复杂的页面结构。

    • 路由参数传递:Vue Router允许您在路由之间传递参数,从而可以在不同路由间共享数据。

    • 路由导航守卫:Vue Router提供了路由导航守卫,可以让您在路由的跳转过程中进行权限验证或者重定向。

    • 命名路由和命名视图:Vue Router支持命名路由和命名视图,使得路由定义更加灵活,可以在不同的地方使用相同的路由。

    • 动态路由匹配:Vue Router支持动态路由匹配,允许您根据不同的路由参数加载不同的组件。

演示如何在 Vue 中使用 Vue Router 进行路由管理:

  1. 首先,确保你的项目已经安装了 Vue Router。你可以使用 npm 或 yarn 安装 Vue Router:
bash 复制代码
npm install vue-router
# 或
yarn add vue-router
  1. 在你的 Vue 项目中创建一个 router 文件夹,并在其中创建一个 index.js 文件,用来配置路由:
javascript 复制代码
import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

// 定义组件
const Home = { template: '<div>Home</div>' }
const About = { template: '<div>About</div>' }

// 创建路由
const router = new VueRouter({
  routes: [
    { path: '/', component: Home },
    { path: '/about', component: About }
  ]
})

export default router
  1. 在你的主 Vue 实例中,使用 Vue Router 并挂载路由:
javascript 复制代码
import Vue from 'vue'
import App from './App.vue'
import router from './router'

new Vue({
  el: '#app',
  router,  // 将路由挂载到 Vue 实例中
  render: h => h(App)
})
  1. 在你的模板中使用 `<router-link>` 和 `<router-view>` 来实现路由导航和路由视图:
javascript 复制代码
<template>
  <div id="app">
    <router-link to="/">Home</router-link>
    <router-link to="/about">About</router-link>

    <router-view></router-view>
  </div>
</template>

在这个示例中,我们创建了两个简单的组件(Home 和 About),并在路由配置中将它们与不同的路径关联起来。然后在主 Vue 实例中使用 Vue Router 并挂载路由,最后在模板中使用 `<router-link>` 和 `<router-view>` 实现路由导航和路由视图。

五、API调用

API 是 Application Programming Interface 的缩写,指的是应用程序编程接口。它是一组定义了软件组件如何互相通信的规则和约定,使得不同的软件系统之间可以进行交互和集成。在前端开发中,API通常用于描述库、框架或平台提供的接口,开发者可以通过调用这些接口来使用其功能和服务。在Vue.js中,API通常指的是框架提供的不同函数和属性,开发者可以使用这些API来构建和管理应用程序。
在Vue.js中,部分常用的API包括:

    1. Vue实例的属性和方法:
      • data:用于定义响应式数据。
      • methods:用于定义方法。
      • computed:用于定义计算属性。
      • watch:用于监控数据的变化。
      • 生命周期钩子函数:如created、mounted等,用于在实例生命周期中执行特定操作。
    1. 全局API:
      • Vue.use:用来注册插件。
      • Vue.directive:用来注册全局自定义指令。
      • Vue.component:用来注册全局组件。
      • Vue.filter:用来注册全局过滤器。
    1. 内置组件:
      • Router:Vue Router用于实现路由功能。
      • Vuex:用于管理应用程序的状态。
      • Vue-CLI:用于快速构建Vue项目的命令行工具。

这些API和组件是Vue.js中常用的一些功能,通过它们可以实现数据响应式、组件化、路由管理、状态管理等功能。
调用 API 可以通过多种方式进行,这取决于你想要调用的 API 的类型和所用的技术栈。一般来说,可以通过以下步骤进行 API 调用:

    1. 选择合适的 HTTP 客户端:你可以选择使用原生的浏览器内置的 Fetch API 或者 XMLHttpRequest,也可以使用像 Axios、Fetch 或者 Superagent 这样的第三方库来发起 HTTP 请求。
    1. 构建请求:在发起 API 请求之前,你需要构建一个包含请求方法、URL、请求头和请求体等信息的请求对象。这一步可能会涉及到一些身份验证的操作,例如在请求头中添加 Authorization 头。
    1. 发起请求:通过选定的 HTTP 客户端来发送构建好的请求对象,并等待服务器的响应。
    1. 处理响应:一旦收到服务器的响应,你需要根据响应的内容来处理数据,可能需要解析 JSON 或者其他数据格式并对其进行适当的处理。

六、前端构建工具

在 Vue 中常用的前端构建工具包括:

    1. Vue CLI:Vue 的官方脚手架工具,用于快速搭建 Vue 项目,并提供了丰富的插件和可配置的选项。
    1. Webpack:一个现代的 JavaScript 应用程序的静态模块打包器,通常与 Vue CLI 结合使用来打包和构建 Vue 项目。
    1. Babel:用于将 ES6+ 代码转换为兼容各种浏览器的 JavaScript 代码,常用于 Vue 项目中进行代码转译。
    1. ESLint:用于代码规范检查和代码风格统一,能够帮助保持项目代码的质量和一致性。
    1. PostCSS:一个用 JavaScript 工具和插件转换 CSS 代码的工具,通常用于 Vue 项目中对 CSS 进行处理和优化。

这些工具经常会被用于 Vue 项目的创建、开发、打包、优化等各个阶段,能够帮助开发者更高效地构建和维护 Vue 前端项目。

七、 组件式API(Composition API)

  • Options API:这是 Vue 2 中常见的组件编写方式,通过在组件的 options 对象中定义 data、methods、computed、watch 等各种属性和方法来组织代码。

  • Composition API:Vue 3 中引入的新特性,它提供了一种更灵活和可组合的方式来编写组件代码。 通过使用 useXxx 函数,可以将相关的逻辑代码组合成一个功能单元,便于复用和测试,同时可以更好地组织和封装代码。

  • Vue3和Vue2之间最大的不同在于新增了Composition API

常用的 API 则是指 Vue 实例、全局 API、内置组件等在 Vue 中常用的属性、方法和组件,它们和 Options API 和 Composition API 是不同层次的概念。

常用的 API 用来操作 Vue 实例,处理数据和组件的生命周期,而 Options API 和 Composition API 则是用来组织和管理组件的代码。

八、前端生态系统

前端生态系统是指由各种前端技术、工具、框架和社区组成的一系列相互关联、相互影响的生态系统。在前端开发领域,主要包括但不限于以下内容:

    1. 前端框架:如Vue.js、React、Angular等,用于构建用户界面和页面交互的框架。
    1. 前端库:如jQuery、Lodash等,提供了各种实用的功能和工具方法,简化了开发过程。
    1. 构建工具:如Webpack、Rollup、Parcel等,用于打包、编译、优化前端代码,提高性能和开发效率。
    1. 前端语言和标准:如HTML、CSS、JavaScript及其相关的标准、规范和最新特性。
    1. 前端组件库:如Element UI、Ant Design、Bootstrap等,提供了常用的UI组件和样式,可用于快速搭建界面。
    1. 前端社区和资源:如GitHub、Stack Overflow、Medium等,提供了大量开源项目、教程、博客文章和交流平台。
    1. 前端应用程序接口(API):如浏览器API、第三方服务API等,用于实现与服务器端和其他服务的交互。

以上这些元素共同构成了前端生态系统,为前端开发者提供了丰富的资源和工具,帮助他们更高效地开发现代Web应用和网站。


实战建议

建议你从小项目开始,逐渐转向大项目,这样可以更好地消化所学知识并加深理解。

对于小项目,你可以选择一些简单的个人博客、待办事项管理系统或者天气预报应用等,这样可以快速实现并且可以涵盖Vue3的核心概念。同时,小项目具有实现的挑战性,可以帮助你熟悉Vue3的语法和特性。

一旦你对Vue3的使用有了一定的熟练度,你可以尝试参与一些开源项目或者搜寻优秀的大型项目,对项目进行阅读和分析,这将会帮助你了解更多实际开发场景下的技能应用和工程化的实践。(先做点小项目,再看点大项目)

------来自搜狗AI的实战建议

相关推荐
mashagua35 分钟前
RPA系列-uipath 学习笔记3
笔记·学习·rpa
nikoni2337 分钟前
828考研资料汇总
笔记·其他·硬件工程
5hand37 分钟前
Element-ui的使用教程 基于HBuilder X
前端·javascript·vue.js·elementui
GDAL1 小时前
vue3入门教程:ref能否完全替代reactive?
前端·javascript·vue.js
沐泽Mu1 小时前
嵌入式学习-QT-Day05
开发语言·c++·qt·学习
锦亦之22331 小时前
cesium入门学习二
学习·html
z千鑫1 小时前
【前端】详解前端三大主流框架:React、Vue与Angular的比较与选择
前端·vue.js·react.js
m0_748256142 小时前
前端 MYTED单篇TED词汇学习功能优化
前端·学习
IT古董2 小时前
【机器学习】机器学习的基本分类-半监督学习(Semi-supervised Learning)
学习·机器学习·分类·半监督学习
jbjhzstsl3 小时前
lv_ffmpeg学习及播放rtsp
学习·ffmpeg