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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

记录 Vue3 + Ts 类型使用

阅读时长: 10 分钟 本文内容:记录在 Vue3 中使用 ts 时的各种写法. 类型大小写 vue3 ts 项目中,类型一会儿大写一会儿小写。 怎么区分与基础类型使用? String、string、Number、number、Boolean、boolean … 在 js 中, 以 string 与 String…

【多线程初阶】多线程案例之单例模式

文章目录 前言1. 什么是单例模式2. 饿汉模式3. 懒汉模式 --- 单线程版4. 懒汉模式 --- 多线程版5. 懒汉模式 --- 多线程改进版总结 前言 本文主要给大家讲解多线程的一个重要案例 — 单例模式. 关注收藏, 开始学习吧🧐 1. 什么是单例模式 单例模式是一种很经典的…

Prometheus-各种exporter

一、 nginx-prometheus-exporter 1 nginx 配置 1.1 Nginx 模块支持 nginx 安装的时候需要有 nginx 的状态模块: stub_status 可通过如下命令检查 nginx -V 2>&1 | grep -o with-http_stub_status_module1.2 Nginx 配置文件配置 添加如下配置到自己 nginx 的配置文…

落地数字化管理,提升企业市场竞争力

数字化企业管理方案是一种利用数字技术和信息系统来提升企业管理效率和运营效果的策略。 潜在的数字化企业管理方案 1、企业资源规划(ERP)系统:建立一个集成的ERP系统来统一管理企业的各项业务流程,包括采购、销售、库存管理、财…

Java超级玛丽小游戏制作过程讲解 第一天 创建窗口

package com.sxt;import javax.swing.*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener;public class MyFrame extends JFrame implements KeyListener {//设置窗口的大小为800*600public MyFrame() {this.setSize(800, 600);//设置窗口中显示this.setLo…

Cpp9 — map和set

map和set STL分为序列式容器(vector、list、deque)和关联式容器(map、set) 序列式容器:数据与数据之间没有很强的联系。(各个数据之间没什么关联)。底层为线性序列的数据结构,里面…

【云原生K8s】二进制部署单master K8s+etcd集群

一、实验设计 mater节点master01192.168.190.10kube-apiserver kube-controller-manager kube-scheduler etcd node节点node01192.168.190.20kubelet kube-proxy docker (容…

elementUI全屏loading的使用(白屏的解决方案)

官网中有使用方法&#xff0c;但是我实际上手之后会出现白屏&#xff0c;解决办法如下&#xff1a; <el-button type"text" size"small" click"delRow(scope)"> 删除</el-button>loading: false, // loading 动画loadingInstance…

ubuntu下,在vscode中使用platformio出现 Can not find working Python 3.6+ Interpreter的问题

有一段时间没有使用platformio了&#xff0c;今天突然使用的时候&#xff0c;发现用不了&#xff0c;报错&#xff1a; Ubuntu PlatformIO: Can not find working Python 3.6 Interpreter. Please install the latest Python 3 and restart VSCode。 上网一查&#xff0c;发现…

【NLP概念源和流】 06-编码器-解码器模型(6/20 部分)

一、说明 在机器翻译等任务中,我们必须从一系列输入词映射到一系列输出词。读者必须注意,这与“序列标记”不同,在“序列标记”中,该任务是将序列中的每个单词映射到预定义的类,如词性或命名实体任务。 作者生成 在上面的

基于回溯算法实现八皇后问题

八皇后问题是一个经典的计算机科学问题&#xff0c;它的目标是将8个皇后放置在一个大小为88的棋盘上&#xff0c;使得每个皇后都不会攻击到其他的皇后。皇后可以攻击同一行、同一列和同一对角线上的棋子。 一、八皇后问题介绍 八皇后问题最早由国际西洋棋大师马克斯贝瑟尔在18…

计算机视觉与图形学-神经渲染专题-第一个基于NeRF的自动驾驶仿真平台

如今&#xff0c;自动驾驶汽车可以在普通情况下平稳行驶&#xff0c;人们普遍认识到&#xff0c;真实的传感器模拟将在通过模拟解决剩余的极端情况方面发挥关键作用。为此&#xff0c;我们提出了一种基于神经辐射场&#xff08;NeRF&#xff09;的自动驾驶模拟器。与现有作品相…

7_分类算法—逻辑回归

文章目录 逻辑回归&#xff1a;1 Logistic回归&#xff08;二分类问题&#xff09;1.1 sigmoid函数1.2 Logistic回归及似然函数&#xff08;求解&#xff09;1.3 θ参数求解1.4 Logistic回归损失函数1.5 LogisticRegression总结 2 Softmax回归&#xff08;多分类问题&#xff0…

Nginx安装和Nginx配置虚拟主机

Nginx安装 源码包获取地址&#xff1a;http://nginx.org/download/ RPM包获取地址&#xff1a;http://nginx.org/packages/centos/7Server/x86_64/RPMS/ RPM安装 这里选择的RPM包是 nginx-1.22.0-1.el7.ngx.x86_64.rpm [rootlocalhost ~]# yum install nginx-1.22.0-1.el7.…

【项目 进程12】2.25 sigprocmask函数使用 2.26sigaction信号捕捉函数 2.27SIGCHILD信号

文章目录 2.25 sigprocmask函数使用2.26 sigaction信号捕捉函数内核实现信号捕捉的过程信号捕捉特性 2.27SIGCHILD信号 2.25 sigprocmask函数使用 阻塞信号集有时称作信号掩码。 联想&#xff1a;fcntl函数可以修改fd属性。 ./sigprocmask & //将程序设置为后台运行&…

深度学习论文: Towards Total Recall in Industrial Anomaly Detection及其PyTorch实现

深度学习论文: Towards Total Recall in Industrial Anomaly Detection及其PyTorch实现 Towards Total Recall in Industrial Anomaly Detection PDF: https://arxiv.org/pdf/2106.08265.pdf PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTorch代码: https://…

2.4G芯片XL2408开发板,SOP16封装,芯片集成1T 8051内核单片机

XL2408开发板可用于2.4G芯片XL2408开发板的开发调试。XL2408烧录仿真需要使用WS_LINK。XL2408开发板烧录仿真需要接4根线&#xff1a;PA13:DIO&#xff0c;PA14:CLK&#xff0c;VCC&#xff0c;GND。 XL2408芯片集成射频收发机、频率收生器、晶体振荡器、调制解调器等功能模块,…

CentOS 7.6使用yum安装stress,源码安装stree-ng 0.15.06,源码安装sysstat 12.7.2

cat /etc/redhat-release看到操作系统的版本是CentOS Linux release 7.6.1810 (Core)&#xff0c;uname -r可以看到内核版本是3.10.0-957.21.3.el7.x86_64 yum install stress sysstat -y安装stress和sysstat。 使用pidstat -u 5 1没有%wait项&#xff1a; 原因是CentOS 7仓…

1分钟解决github push/pull报错443

1.打开https://www.ipaddress.com/ 2.复制如图IP地址 3.文件夹打开C:\Windows\System32\drivers\etc&#xff0c;复制hosts文件&#xff0c;粘贴到桌面 4.在桌面用记事本打开复制过来的hosts 5.在末尾加上一行&#xff0c;IP写刚才复制的 6.复制桌面的hosts,粘贴回C:\Window…

剑指offer48.最长不含重复字符的子字符串

我一开始的想法是创建一个大小为26的int数组&#xff0c;下标为0对应的是‘a&#xff0c;25对应的是’z&#xff0c;然后一开始都赋为-1&#xff0c;用一个for循环从头遍历这个字符串&#xff0c;通过char c s.charAt(i)获得字符&#xff0c;然后c-97&#xff0c;就是它对应的…