Vue3 基础知识点汇总 自学笔记,记录难点 和 新知识点

news2024/12/23 9:13:14

1.vue3 基础

1.1vue3基础及创建

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

npm init vue

1.2.熟悉项目目录及关键文字

在这里插入图片描述

1.3 组合式API-setup

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

1.4.组合式 API reactive 和ref 函数 (都是为了生成响应式数据)

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

在这里插入图片描述

1.5.组合式API-computed 计算属性函数

在这里插入图片描述

在这里插入图片描述

1.6.watch 函数

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

1.7.组合式API-生命周期函数

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

1.8.组合式 API-父子传参

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

1.9. 模板引用ref 获取dom

在这里插入图片描述

1.10.跨层传递普通数据provide 和 inject(爷爷向孙子传递数据,不通过爸爸)

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

2.Pinia 的基础

2.1 基础

在这里插入图片描述

安装使用 yarn

用你喜欢的包管理器安装 pinia:

yarn add pinia

或者使用 npm

npm install pinia

TIP

如果你的应用使用的 Vue 版本低于 2.7,你还需要安装组合式 API 包:@vue/composition-api。如果你使用的是 Nuxt,你应该参考这篇指南。

如果你正在使用 Vue CLI,你可以试试这个非官方插件。

创建一个 pinia 实例 (根 store) 并将其传递给应用:

在 main.js 配置

import {
    createApp } from 'vue'
// 1.导入createPinia
import {
    createPinia } from 'pinia'
import App from './App.vue'
// 2.执行方法得到实例
const pinia = createPinia()
const app = createApp(App)
// 3.将 pinia实例加入到 app 应用内
app.use(pinia)
app.mount('#app')

2.2 pinia的基础使用

1.在 src文件下创建一个stores 文件在创建一个 counter.js

在这里插入图片描述

在这里插入图片描述

2.3 pinia的异步案例

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

2.4 storeToRefs 保持数据的响应式解构

在这里插入图片描述
在这里插入图片描述
注意 :数据需要使用 storeToRefs 方法直接解构就能用啦 ~

3.项目搭建 及git 的使用

3.1项目搭建

npm init vue

在这里插入图片描述

3.2运行项目

yarn add   
yarn dev

3.3 搭建基础目录

apis
composables
direactives
styles
utils

在这里插入图片描述

3.4 git 管理项目

git init
git add .
git commit -m 'init'

在这里插入图片描述

3.5 别名路径联想提示

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

{
   
    "compilerOptions": {
   
        "baseUrl": "./",
        "paths": {
   
            "@/*": ["src/*"]
        }
    }
}

发生实际目录转化的是vite.config.js 中

export default defineConfig({
   
  plugins: [
    vue(),
  ],
  resolve: {
   
    alias: {
   
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  }
})

4 项目起步 - 组件引入 elemntplus;

4.2 引入项目

在这里插入图片描述

在这里插入图片描述
第一步 看官网安装

# 选择一个你喜欢的包管理器

# NPM
$ npm install element-plus --save

# Yarn
$ yarn add element-plus

# pnpm
$ pnpm install element-plus

在这里插入图片描述

第二步 按需引入

npm install -D unplugin-vue-components unplugin-auto-import
或者 yarn
yarn add -D unplugin-vue-components unplugin-auto-import

在这里插入图片描述

第三步 在 vite.config.ts

// vite.config.ts
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import {
    ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default defineConfig({
   
  // ...
  plugins: [
    // ...
    AutoImport({
   
      resolvers: [ElementPlusResolver()],
    }),
    Components({
   
      resolvers: [ElementPlusResolver()],
    }),
  ],
})

第四步.试一试看看好用不

在这里插入图片描述

4.2 项目初始化之elementPlus 定制主体

在这里插入图片描述
在这里插入图片描述
第一步 安装scss

npm i sass -D

yarn add sass -D

第二步 创建自己要使用的主色调 在styles 下新建 elment 下新建index.scss

 'element-plus/theme-chalk/src/common/var.scss' with (
    $colors:(
        'primary': (
            'base': #27ba9b,
        ),
        'success': (
            'base': #1dc779,
        ),
        'warning': (
            'base': #ffb302,
        ),
        'danger': (
            'base': #e26237,
        ),
        'error': (
            'base': #cf4444,
        )
    )
)

第三步 自动导入配置
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

css: {
   
    preprocessorOptions: {
   
      scss: {
   
          // 自动导入定制化样式文件进行覆盖
        additionalData: `
           "@/styles/element/index.scss" as *;
        `,
      }
    }
  }

5.项目起步之 - axios基础配置

5.1 axios 安装

在这里插入图片描述

npm i axios     // 安装

5.2 配置基础设置

在这里插入图片描述
第1步
在 utils 下创建一个公用的 http.js 文件 创建拦截器等

// axios 基础的封装
import axios from "axios";

const httpInstance = axios.create(
    {
   
        baseURL: 'https://api.goodsright.shangkelian.cn/api/',
        timeout:5000
    }
)
// 拦截器
httpInstance.interceptors.request.use ((config) => {
   
    return config;
},  (error) => {
   
    return Promise.reject(error);
})

// 添加响应拦截器
httpInstance.interceptors.response.use((response) => {
   
    return response.data;
},  (error)=> {
   
    return Promise.reject(error);
})

export default httpInstance

第2步 在apis 文件下创建【文件名】.js 文件用于装载你自己定义的接口;

// 引入公用封装
import httpInstance from '@/utils/http'

// 自定义请求接口
export function getGoodsIndex() {
   
    return httpInstance({
   
        url: 'mall/shops'
    })
}

第3步 在main.js 文件下完成测试请求;

// 引入封装的请求即可欧
import {
   
    getGoodsIndex
} from './apis/test'  

// 请求接口
getGoodsIndex().then(res => {
   
    res.data

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/828678.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring之事务实现方式及原理

目录 Spring事务简介 Spring支持事务管理的两种方式 编程式事务控制 声明式事务管理 Spring事务角色 未开启事务之前 开启Spring的事务管理后 事务配置 事务传播行为 事务传播行为的可选值 Spring事务简介 事务作用:在数据层保障一系列的数据库操作同成功…

Python之pyinstaller打包exe填坑总结

一、起因 编写了一个提取图片中文字的python脚本,想传给同事使用,但是同事电脑上没有任何python环境,更没有安装python库,因此想到通过pyinstaller打包成exe程序传给同事使用,于是开始了不断地挖坑填坑之旅 import p…

Kafka-消费者组消费流程

消费者向kafka集群发送消费请求,消费者客户端默认每次从kafka集群拉取50M数据,放到缓冲队列中,消费者从缓冲队列中每次拉取500条数据进行消费。

Dockerfile构建SSHD镜像

Dockerfile构建SSHD镜像 基于Dockerfile制作镜像时首先需要建立工作目录,作为生成镜像的工作目录,然后分别创建并编写 Dockerfile文件、需要运行的脚本文件以及要复制到容器中的文件。 1、环境配置: [rootdocker ~]# iptables -F [rootdoc…

用python+PyQt5来编写一个定时关机窗口

一、界面展示 二、源码 import sys from PyQt5.QtWidgets import QDesktopWidget,QApplication, QWidget, QLabel, QVBoxLayout, QPushButton, QSpinBox import osclass AutoShutdownApp(QWidget):def __init__(self):super().__init__()self.setWindowTitle("自动关机应…

Aop监控所有Controller,包括void类型的response中的出参(工具类)

一、主要坐标 <!--aop--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><dependency><groupId>com.google.guava</groupId><artifa…

saas堡垒机定义以及优势简单说明

工作中我们经常可以听到saas这个词语&#xff0c;但对于saas堡垒机相信还有很多人不了解。今天我们就来一起简单聊聊什么是saas堡垒机&#xff0c;saas堡垒机有哪些优势。 saas堡垒机定义 saas堡垒机顾名思义为一款SaaS化堡垒机产品&#xff0c;即一款SaaS运维审计安全系统。…

学习记录——EGE-UNet、R2AU-Net、PHNet、CFNet

EGE-UNet: an Efficient Group Enhanced UNet for skin lesion segmentation 上海交大 2023 MICCAI 基于 U-Net 进行魔改&#xff0c;用于解决医学图像&#xff08;尤其是皮肤病变&#xff09;分割中面临的问题。由于它是针对移动健康应用开发的&#xff0c;解决了当前许多模型…

硬件系统工程师宝典(35)-----SDRAM是如何“提速”的?

各位同学大家好&#xff0c;欢迎继续做客电子工程学习圈&#xff0c;今天我们继续来讲这本书&#xff0c;硬件系统工程师宝典。 上篇我们了解了FLASH可分为NOR FLASH和NAND FLASH&#xff0c;NOR FLASH一般用于代码运行及擦除或编程较少的场合&#xff0c;NAND FLASH用于擦除、…

【CSS】3D卡片效果

效果 index.html <!DOCTYPE html> <html><head><title> Document </title><link type"text/css" rel"styleSheet" href"index.css" /></head><body><div class"card"><img…

C# XML文档相关操作

C# 创建XML文档 XML文档知识点创建XML文档向XML中追加读取XML文档读取带属性的XML文档删除节点 XML文档知识点 XML 是可扩展的标记语言 XML:用来存储数据 注意点&#xff1a;XML是严格区分大小写的&#xff0c;XML标签也是成对出现的 XML文档有且只能有一个根节点&#xff1b;…

【浪费了我两个小时时间】Microsoft store无法加载页面0x80131500

绕的圈&#xff0c;踩的坑 谷歌搜索&#xff0c; newbing搜索都叫我清理缓存&#xff0c;重新安装等方法。 还被这篇文章误导了一下&#xff1a;微软应用商店错误代码0x80072EFD怎么办&#xff1f;&#xff08;已解决&#xff09; 加上重启电脑各种试不行。 最后想到要去改代…

Maven发布项目到Nexus私服

项目pom配置 在项目pom.xml中文件中的仓库配置&#xff0c;Nexus私服如何搭建在这里不介绍了可自行百度。 <distributionManagement><repository><id>releases</id><name>Nexus Release Repository</name><url>http://私服地址:34…

C++设计模式之桥接设计模式

文章目录 C桥接设计模式什么是桥接设计模式该模式有什么优缺点优点缺点 如何使用 C桥接设计模式 什么是桥接设计模式 桥接设计模式是一种结构型设计模式&#xff0c;它可以将抽象接口和实现分离开来&#xff0c;以便它们可以独立地变化和扩展。 该模式有什么优缺点 优点 灵…

定时任务之Springboot整合Quartz详解

文章目录 一、什么是Quartz二、为什么使用Quartz1、为什么要用定时任务2、为什么使用Quartz 三、常见开源定时任务的框架的异同四、Quartz的相关概念五、Quartz的使用&#xff08;此处讲解使用主要流程&#xff09;六、开源引擎框架与业务如何结合使用 一、什么是Quartz quartz…

springboot通过springdata整合es7.x

首先要明确通过springdata操作es必须要将版本号和es的版本号对应上&#xff0c;否则会报错&#xff08;倒不用完全一一对应&#xff0c;但版本号最好不要相差太多&#xff09;。springdata引入的版本号由springboot的版本号决定&#xff0c;对应关系如下&#xff1a; 这里我用…

一起来学习怎样将文档翻译成中文的同时维持原有格式

在快节奏的现代生活中&#xff0c;文档翻译软件成为我们处理多语言文本的得力工具。然而&#xff0c;当我们使用文档翻译软件时&#xff0c;有时会面临一个头疼的问题&#xff1a;即使翻译出了准确的词句&#xff0c;但格式却完全没有保留下来。这时候&#xff0c;我们怎么办呢…

常见OOM异常分析排查

常见OOM异常分析排查 Java内存溢出Java堆溢出原因解决思路总结 Java内存溢出 java堆用于存储对象实例,如果不断地创建对象,并且保证GC Root到对象之间有可达路径,垃圾回收机制就不会清理这些对象,对象数量达到最大堆的容量限制后就会产生内存溢出异常. Java堆溢出原因 无法在…

mysql月统计数据,没有的填充为0

要按时间戳字段按月份分组查询记录表&#xff0c;可以使用DATE_FORMAT函数将时间戳字段格式化为年月格式&#xff0c;然后将结果按照该字段进行分组。 SELECT a.month month,ifnull(b.count, 0) count FROM (SELECT 1 month UNION ALL SELECT 2 month UNION ALL SELECT 3 mont…

为何企业和开发团队应该重视进行兼容性测试

随着科技的不断进步和软件的广泛应用&#xff0c;保证软件在不同平台和环境下正常运行变得至关重要。本文将探讨软件兼容性测试的重要性和好处&#xff0c;并介绍为何企业和开发团队应该重视进行兼容性测试&#xff0c;以确保软件的稳定性和用户体验。 提供用户友好的体验 软件…