首页 > 其他分享 >Vue零基础教程|从前端框架到GIS开发系列课程(六)组合式API

Vue零基础教程|从前端框架到GIS开发系列课程(六)组合式API

时间:2024-12-19 16:01:58浏览次数:6  
标签:Vue const 函数 effect console reactive 基础教程 GIS name

前文指路:

Vue零基础教程|从前端框架到GIS开发系列课程(五)组件式开发

Vue零基础教程|从前端框架到GIS开发系列课程(四)计算属性与侦听器

Vue零基础教程|从前端框架到GIS开发系列课程(三)模板语法

Vue零基础教程|从前端框架到GIS开发系列课程(二)

0帧起手《Vue零基础教程》,从前端框架到GIS开发系列课程

 

 什么是组合式API(了解)

从整体上划分, Vue分为如下几个核心模块

  • 编译器.

  • 渲染器.

  • 响应式系统.

将模块里的每个功能解耦成一个一个函数,

每个函数实现特定的功能, 这些函数可以任意组合使用, 就叫做组合式API

比如:

  • reactive: 将普通对象转换成响应式对象

  • computed: 定义一个计算属性

  • watch: 定义一个侦听器

小结

使用一个函数实现一个特定的小功能, 再加这些函数任意组合, 实现更复杂的功能.

这些函数就叫做组合式API

为什么提出组合式API(了解)

1) Options API下代码的组织形式

使用Options API实现一个功能, 需要在不同的地方编写代码

  • 状态(数据)在data中定义

  • 方法在methods中定义

  • 计算属性

  • ...

当新添加一个功能时, 代码的组织会比较零散

2) Composition API下代码的组织形式

Party3

 Vue响应式原理(理解)

1) 什么是响应式

当数据改变时, 引用数据的函数会自动重新执行

2) 手动完成响应过程

首先, 明确一个概念: 响应式是一个过程, 这个过程存在两个参与者: 一方触发, 另一方响应

比如说, 我们家小胖有时候不乖, 我会打他, 他会哭. 这里我就是触发者, 小胖就是响应者

同样, 所谓数据响应式的两个参与者

  • 触发者: 数据

  • 响应者: 引用数据的函数

当数据改变时, 引用数据的函数响应数据的改变, 重新执行

我们先手动完成响应过程

示例

<!DOCTYPE html><html lang="en">  <head>    <meta charset="UTF-8" />    <meta http-equiv="X-UA-Compatible" content="IE=edge" />    <meta name="viewport" content="width=device-width, initial-scale=1.0" />    <title>Document</title>  </head>  <body>    <div id="app"></div>    <script>      // 定义一个全局对象: `触发者`      const obj = { name: 'hello' }      // effect函数引用了obj.name, 这个函数就是 `响应者`      function effect() {        // 这里可以通过app拿到DOM对象        app.innerHTML = obj.name      }      effect()      // 当obj.name改变时, 手动执行effect函数, 完成响应过程      setTimeout(() => {        obj.name = 'brojie'        effect()      }, 1000)</script>  </body></html>

为了方便, 我们把引用了数据的函数 叫做 副作用函数

3) 副作用函数

如果一个函数引用了外部的资源, 这个函数会受到外部资源改变的影响

我们就说这个函数存在副作用. 因此, 也把该函数叫做副作用函数

这里, 大家不要被这个陌生的名字吓唬住

所谓副作用函数就是引用了数据的函数或者说数据关联的函数

4) reactive()函数

在Vue3的响应式模块中, 给我们提供了一个API: reactive

reactive(): 将普通对象转换成响应式对象

如何理解响应式对象

如果一个对象的get和set过程被拦截, 并且经过自定义后与某个副作用函数建立了依赖关系.

这样的对象就被认为是具有响应式特性的. 即: 当数据改变时, 所依赖的函数会自动重新执行

示例

<!DOCTYPE html><html lang="en">  <head>    <meta charset="UTF-8" />    <meta http-equiv="X-UA-Compatible" content="IE=edge" />    <meta name="viewport" content="width=device-width, initial-scale=1.0" />    <title>Document</title>    <script src="../node_modules/vue/dist/vue.global.js"></script>  </head>  <body>    <script>      const { reactive } = Vue      // 将普通对象转换成响应式对象      const pState = reactive({ name: 'xiaoming', age: 20 })      console.log(pState)</script>  </body></html>

5) effect()函数

响应式对象要跟副作用函数配合使用. 在Vue3中提供了一个API: effect

effect(): 注册副作用函数, 建立响应式对象和副作用函数之间的关系

如何建立依赖

  1. 定义一个函数, 这个函数中引用了响应式对象的属性

  2. 通过effect注册副作用函数

标签:Vue,const,函数,effect,console,reactive,基础教程,GIS,name
From: https://blog.csdn.net/gis_witch/article/details/144514072

相关文章

  • vue-进行分组----将轮播图数据进行分组
    效果展示第一步将数据进行分组处理例如:数据是这样的处理方法一:进行两次for循环处理方法二:进行一次for循环......
  • 网页直播/点播播放器EasyPlayer.js如何在Vue3中使用?
    近来很多用户对何为Vue3产生了疑问,其实Vue3就是一个用于构建用户界面的渐进式JavaScript框架。Vue3于2020年发布带来了全新的CompositionAPI、改进的性能、TypeScript支持和更好的处理大型应用程序的能力。Vue3在保留了Vue2的易用性的同时,提供了更强大的功能,为开发者在实现复杂应......
  • 哪些编程语言适合GIS开发?超全面汇总来了!
    今天来聊聊同学们经常会问到的一个话题——GIS开发用什么编程语言?首先我们来简单看一下常见的编程语言有哪些。01编程语言的特征了解编程语言的特征的一个重要方法是根据它们的不同的特点进行分类,比如静态和动态类型。静态类型语言如C、C++、C#和Java在编译时评估类型信息......
  • 《Vue进阶教程》第十一课:响应式系统介绍
    1什么是响应式当数据改变时,引用数据的函数会自动重新执行2手动完成响应过程首先,明确一个概念:响应式是一个过程,这个过程存在两个参与者:一方触发,另一方响应比如说,我们家小胖有时候不乖,我会打他,他会哭.这里我就是触发者,小胖就是响应者同样,所谓数据......
  • 给我2分钟,保证教会你在Vue3中实现一个定高的虚拟列表
    前言虚拟列表对于大部分一线开发同学来说是一点都不陌生的东西了,有的同学是直接使用第三方组件。但是面试时如果你简历上面写了虚拟列表,却给面试官说是通过三方组件实现的,此时空气可能都凝固了。所以这篇文章欧阳将会教你2分钟内实现一个定高的虚拟列表,至于不定高的虚拟列表下一......
  • vue3 wspt 插件的使用 wsplayer无插件开发包封装
    基于大华插件:H5播放器开发套件(wsplayer无插件开发包)V1.2.9使用方法npmiwsptwspt使用说明1.找到node_modules目录中wspt文件夹,将static文件夹、jquery.min.js、palyer.css、PlayerControl.js、WSPlayer.js文件复制到项目public目录下。public|--jquery.min.js......
  • 基于SpringBoot+Vue实现的个人备忘录系统
    ......
  • vue-实现loading页面
    效果实现步骤第一步先编写一个加载页面在APP.vue中引入将控制加载的变量添加到状态管理库中例如pinia或VueX中在loading页面中导入常量并控制主体是否显示在请求拦截器和响应拦截器里配置......
  • vue-axios响应请求拦截器
    importaxiosfrom"axios";//import{ElMessage}from'element-plus'import{BASE_URL,TIMEOUT}from"../config";constAxios=axios.create({ //后端url地址baseURL:BASE_URL,//设置超时时间timeout:TIMEOUT,//请求头类型/......
  • 基于 SSM 与 Vue 构建的电脑测评系统:提升评估精准度
    3系统分析3.1可行性分析通过对本基于SSM框架的电脑测评系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。3.1.1技术可行性本基于SSM框架的电脑测评系统采用JAVA作为开发语言,SSM框架,......