Vue3学习(仅为了记录,参考意义不大)

news/2024/7/10 2:30:03 标签: 前端, vue, vue.js

一.Vue3介绍

1.Vue3的优势

在这里插入图片描述
在这里插入图片描述

vuevue3_4">2.使用create-vue创建vue3项目

vue-cli是创建vue2.0的脚手架工具,create-vue是创建vue3的脚手架工具,create-vue构建速度非常快
在这里插入图片描述
在这里插入图片描述

vue3_8">3.vue3项目目录和关键文件

在这里插入图片描述
在这里插入图片描述

二.Vue3组合式API

1.setup选项

在这里插入图片描述
在这里插入图片描述
setup语法糖:
在这里插入图片描述
在这里插入图片描述
总结:
在这里插入图片描述

2.reactive和ref函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.computed

在这里插入图片描述
在这里插入图片描述

4.watch

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
开启深度监听同样的写法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.生命周期函数

beforeUnmount和unmounted对应beforeDestoryed和destoryed
在这里插入图片描述

6.父子同信

在这里插入图片描述
defineProps原理还是props,只不过在setup里面可以去接收使用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.模板引用和defineExpose宏函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8.provide和inject

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三.Vue3.3新特性

1.defineOptions

在这里插入图片描述
在这里插入图片描述

2.defineModel

在这里插入图片描述
父组件里面写v-model,子组件里defineModel
在这里插入图片描述

四.Pinia

1.什么是pinia

在这里插入图片描述

2.在项目中添加pinia

在这里插入图片描述
pinia官网:https://pinia.vuejs.org/zh/introduction.html

3.基本语法

(推荐组合式API写法)
在这里插入图片描述

4.action异步写法

在这里插入图片描述
在这里插入图片描述

5.storeToRefs方法

直接解构,不处理,数据会丢失响应式原因:
store 是一个用 reactive 包装的对象,这意味着不需要在后面写 .value
reactive实现响应式,底层的原理是proxy,而proxy是针对对象进行劫持(整个关于数据的劫持监听,都是针对于对象的)
那么就意味着,只要对象在,对象里面的所有属性以及对象的子属性都能够监视到当前数据的修改
但是 一旦使用了解构,解构意味着声明了两个变量(count, msg),两个变量分别去存了对象里的两个值(值a和值b分别赋值到了count和msg变量里)
一旦赋值完成,这两个变量跟原来的响应式变量就无关了(相当于拷贝了一份数据丢到外面去了),所以丢失了响应式
为了从 store 中提取属性时保持其响应性,需要使用 storeToRefs()
使用场景:storeToRefs一般在数据很多的时候写,避免出现counterStore.XXX太多
在这里插入图片描述

6.pinia持久化

在这里插入图片描述
官网地址:https://prazdevs.github.io/pinia-plugin-persistedstate/zh/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其它配置可以查阅官网
在这里插入图片描述

五.大事件项目

1.pnpm

在这里插入图片描述
在这里插入图片描述

2.eslint和prettier

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  rules: {
    // prettier专注代码美观(格式化工具)
    // 1. 禁用prettier插件,并且关闭format on save
    // 2.安装Eslint插件,并配置保存时自动修复
    'prettier/prettier': [
      'warn',
      {
        singleQuote: true, // 单引号
        semi: false, // 无分号
        printwidth: 80, // 每行宽度至多80字符
        trailingComma: 'none', // 不加对象|数组最后逗号
        endofLine: 'auto' // 换行符号不限制 (win mac 不一致)
      }
    ],
    // eslint关注于规范
    'vue/multi-word-component-names': [
      'warn',
      {
        ignores: ['index'] // vue组件名称多单词组成 (忽略index.vue)
      }
    ],
    'vue/no-setup-props-destructure': ['off'], // 关闭 props 解构的校验
    // 添加未定义变量错误提示true,create-vue@3.6.3 关闭true,这里加上是为了支持下一个章节演示。
    'no-undef': 'error'
  }

3.基于husky的代码检查工作流

在这里插入图片描述
只需要对新写的代码规范(旧版代码一起校验消耗成本太大)
在这里插入图片描述
在这里插入图片描述

4.目录调整

在这里插入图片描述

5.路由语法解析

在这里插入图片描述
https://cn.vitejs.dev/guide/env-and-mode.html
在这里插入图片描述

6.引入elementPlus组件库

在这里插入图片描述
https://element-plus.gitee.io/zh-CN/guide/installation.html

7.pinia构建仓库和持久化

在这里插入图片描述
在这里插入图片描述

8.数据交互-请求工具设计

在这里插入图片描述
http://axios-js.com/zh-cn/docs/#axios


http://www.niftyadmin.cn/n/5010867.html

相关文章

CDC和DSG等复制软件的原理,表存在主键才能复制的原因?

CDC和DSG复制的原理是把页改动的Log转换成逻辑日志去目标端重做。比如源端一条sql update完全一样的两行数据,那CDC会把两行的改动转换成两个update sql,第一条sql执行完就把两行数据都更新了,那么第二条再去执行就会报错找不到该行。所以复制软件要求必…

day37 | 738.单调递增的数字、968.监控二叉树

目录&#xff1a; 解题及思路学习 738. 单调递增的数字 且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 示例 1: 输入: n 10…

Python数据分析实战-Series转DataFrame并将index设为新的一列(附源码和实现效果)

实现功能 Series转DataFrame并将index设为新的一列 实现代码 import pandas as pd# 创创建series series pd.Series([1, 2, 3, 4, 5])# 创建一个DataFrame对象 data {column_name: series} df pd.DataFrame(data)# 重新设置索引&#xff0c;将原有的索引作为新的一列 df.r…

I2S/PCM知识点记录

目录 1.常见的音频采样率有两类&#xff0c;一类是48K domain&#xff0c;另一类是44.1KHz domain 2.常见采样深度 【即单声道和单slot位宽】8/12/16/24/32 bit 3.帧结构 4.I2S/PCM允许实际有效采样位宽比传输的位宽小 5.ddr存储对齐 6.sclk和mclk以及adifclk的产…

easypoi导入数值精度丢失

记录一下easypoi导入数值,精度丢失的解决方案 1.导入的excel字段如图 2.easypoi解析CellValueService部分源码: 这个方法拿到的原始数据如图&#xff1a; 解决方法&#xff1a; 1.统一处理方式&#xff1a;在解析的时候使用DecimaFormat进行数据格式化 //格式化为6为小数 De…

windows安装elasticsearch和kibana的安装配置教程

Elasticsearch 和 Kibana 的最新稳定版本是 7.x 系列&#xff0c;而不是 8.9.1 版本。然而&#xff0c;我可以提供安装 Elasticsearch 7.x 和 Kibana 7.x 的配置教程。 以下是安装 Elasticsearch 7.x 和 Kibana 7.x 的一般步骤&#xff1a; 1. 安装 Java Elasticsearch 和 K…

2023大数据应用技术-电商离线数据处理实训-hudi(参考结果版)

电商离线数据处理实训-hudi 任务一&#xff1a;数据抽取 编写Scala代码&#xff0c;使用Spark将MySQL的shtd_store库中表user_info、sku_info、base_province、base_region、order_info、order_detail的数据增量抽取到Hudi的ods_ds_hudi库&#xff08;路径为/user/hive/wareh…

Blender中的高级边缘控制和纹理映射

推荐&#xff1a;使用 NSDT场景编辑器 快速搭建3D应用场景 步骤 1 首先&#xff0c;您需要创建一组无阴影材质&#xff0c;每种材质具有不同的颜色&#xff0c;确保您有足够的材质来覆盖模型&#xff0c;而不会有相同的颜色相互重叠。然后&#xff0c;切换到“着色”&#xff…