【VUE3】新版Vue3+ElementPlus全家桶开发视频项目实战

VUE 介绍

Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。

Vue.js是一个MVVM(Model - View - ViewModel)的SPA框架。

Model:数据。
View:视图。
ViewModel:连接View与Model的纽带。
  Vue.js的安装使用方式有几种,简单的只需要引入一个第三方的JS包即可。在中引入Vue.js包。

本地搭建 Vue 单页应用,可使用npm安装方式,即本文主要内容。

常用命令汇总

  • npm 常用命令
npm create vue@latest //创建项目
npm run build //编译
npm run dev //运行
npm install 模块 //本地安装(是将模块下载到当前命令行所在目录)
npm install -g 模块 //模块将被下载安装到“全局目录”中
npm config list //查看基本配置
npm config list -l //查看所有配置
npm config get prefix //查看全局安装默认目录
npm config get cache //查看全局安装缓存路径
npm config set prefix "目录" //设置全局安装默认目录 
npm config set cache "目录" //设置全局安装缓存目录 
npm cache clearn -force //清空缓存
npm config set registry //设置npm镜像源
npm config set registry https://registry.npm.taobao.org 
npm config get registry //查看npm镜像设置
  • pnpm 常用命令
    pnpm 是一种新型的包管理工具,旨在解决传统包管理工具如 npm 和 yarn 的一些问题。其主要特点和优势包括:

    • 依赖重复安装问题‌:pnpm 通过存储差异文件来避免重复安装依赖,从而节省硬盘空间并加快安装速度‌。
    • 安装速度‌:pnpm 的安装速度比 npm 和 yarn 快很多,尤其是在处理大型项目时更为明显‌。
    • 硬盘空间‌:由于只存储变化了的文件,pnpm 可以显著减少硬盘使用量‌。
npm install -g pnpm //安装pnpm 
pnpm config get registry //查看当前镜像源
pnpm config set registry https://registry.npmmirror.com //设置当前镜像源为淘宝
pnpm config set registry https://registry.npmjs.org //设置当前镜像源默认的npm源
pnpm install //安装项目依赖项(简写:pnpm i)
pnpm add  //将包添加到项目的dependencies中
pnpm add <package-name> -D //将包添加到项目的devDependencies中
pnpm remove <package-name> //移除依赖
pnpm remove <package-name> --global //移除全局安装的包
pnpm up //更新所有依赖项
pnpm upgrade <package-name> //更新特定包
pnpm upgrade <package-name> --global //更新全局安装的包
pnpm config set //
  • Vite 常用命令
    新型前端构建工具,能够显著提升前端开发体验,它主要由两部分组成:
    • 一个开发服务器,它利用 原生 ES 模块 提供了 丰富的内建功能,如速度快到惊人的 模块热更新(HMR)。
    • 一套构建指令,它使用 Rollup 打包你的代码,预配置输出高度优化的静态资源用于生产。
pnpm create vite //创建项目
pnpm create vite@latest my-vue-app -- --template vue //创建项目指定项目名称和你想要使用的模板
pnpm install -D vite //安装 vite 命令行工具
pnpm vite //运行

VUE3常见语法汇总

ref()  //const count = ref(0)  //count.value(访问值,包括对象要加.value) //任何类型的值,包括深层嵌套的对象或则JS内置数据结构 
await nextTick() //要等待 DOM 更新完成后再执行额外的代码,可以使用 nextTick() 全局 API
reactive() //只能用于对象类型 (对象、数组和如 Map、Set 这样的集合类型)它不能持有如 string、number 或 boolean 这样的原始类型
模板语法1:<span>Message: {
   {
    msg }}</span>
模板语法2(插入HTML):<span v-html="rawHtml"></span> 
指令:<div v-bind:id="xd"></div> //常见指令 :id、:disable、:href
计算属性:(1)、import {
    ref, computed } from "vue";  (2)、const booksLength = computed(() => {
     return list.value.books.length > 0 ? "Yes" : "No"; }); (3)、 <span>{
   {
    booksLength }}</span> // 不是以一个函数执行,不加()

条件渲染:v-if、v-else、v-else-if、v-show
列表渲染:(1)、v-for(<li v-for="item in courseList">{
   {
    item }}</li>) ;(2)、of(<li v-for="item of courseList">{
   {
    item }}</li>#v-if和v-for是不推荐一起使用在同一个标签
事件监听:v-on:click="handler"  或则 @click="handler"
侦听器:watch(我们需要在状态变化时执行一些“副作用:例如更改 DOM,或是根据异步操作的结果去修改另一处的状态)
侦听器:watchEffect()
onMounted:是一个生命周期钩子(生命周期函数),用于在组件实例被挂载到 DOM 上后执行代码。
onUnMounted://组件卸载之后


第二章 搭建Vue3的开发环境+初始Vue3

第1集 详解搭建Vue3的开发环境和注意事项
  • Node环境安装
    安装npm 需要安装note.js(NPM是包含在Node.js里的包管理工具),它具有以下功能:允许用户从NPM服务器下载别人编写的第三方包到本地使用。允许用户把自己编写的包或插件上传到NPM服务器供别人下载使用。来自各地的开源软件开发者可以使用 npm 互相分享和借鉴。包的结构使软件开发者能够轻松跟踪项目依赖项和版本。

    • Node版本选择
      • 下载地址:https://nodejs.org/en/download
        在这里插入图片描述

(1)、检查node+npm版本

node -v //检查node版本
npm -v //检查npm版本

(2)、配置npm下载时的默认安装目录和缓存日志目录

​这里的环境配置主要配置的是npm安装的全局模块所在的路径,以及缓存cache的路径,之所以要配置,是因为npm install express [-g] 执行全局安装语句时,会将安装的模块安装到【C:\Users\用户名\AppData\Roaming\npm】路径目录下,久而久之C盘很容易被占满(C盘足够大可以无视此步骤),通过设置,将默认安装目录和缓存日志目录重新配置到其他盘符节约C盘空间

   此处举例选择放在:D:\Program\nodejs 目录下的node_global目录里(也可提前在文件资源管理器中建立好相应的文件夹)

输入以下命令配置npm的全局模块的存放路径和cache的路径:

(路径按实际情况更改为自己的路径)

npm config set prefix "D:\Program\nodejs\node_global" 
npm config set cache "D:\Program\nodejs\node_cache"

查看一下npm的安装路径

#查看npm全局安装保存路径
npm config get prefix  

#查看npm安装缓存cache路径
npm config get cache 

(3)、配置环境变量
步骤1:进入系统属性页面,系统----》系统信息----》高级系统设置----》高级----》环境变量-----》
步骤2:添加系统变量Path中的值,
【系统变量】下的

【Path】添加上node的安装目录路径【例如:D:\Program\nodejs】

D:\Program\nodejs

【Path】添加上刚才配置的npm下载时的默认安装目录和缓存日志目录

D:\Program\nodejs\node_global
D:\Program\nodejs\node_global\node_modules
  • 开发编辑工具
    • Vscode(Visual Studio Code)
      • 下载地址:https://code.visualstudio.com/Download
        在这里插入图片描述
第2集 创建第一个Vue3的应用
  • 创建第一个Vue3的应用
    • 通过CDN使用Vue
  <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
  • 静态
<div id="app">{
   {
    message }}</div>

<script type="module">
  import {
    createApp, ref } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'

  createApp({
   
    setup() {
   
      const message = ref('Hello Vue!')
      return {
   
        message
      }
    }
  }).mount('#app')
</script>

// 接收一个“容器”参数:<div id="app">{
   { message }}</div>,是一个 CSS 选择器字符串
// .mount() 方法应该始终在整个应用配置和资源注册完成后被调用
  • 响应式跟新
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <span>{
   {
    count }}</span>
        <button @click="add"></button>

    </div>
    
<script type="module">
  import {
   createApp, ref} from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'

  createApp({
   
    setup() {
   
      const count = ref(0) 
      const add = () => count.value++; //此处要用 count.value
      return {
   
        count,
        add
      }
    }
  }).mount('#app')
</script>
</body>
</html>
  • 通过 npm 或者 pnpm 创建项目
    说明:“左<- 右->” 键 选择 是/否
pnpm create vue@latest

在这里插入图片描述

  • 通过Vite或者官方的命令行创建Vue3项目
pnpm create vite //创建项目
pnpm create vite@latest my-vue-app -- --template vue //创建项目指定项目名称和你想要使用的模板
pnpm install -D vite //安装 vite 命令行工具
pnpm vite //运行
  • 计算属性
    为什么后面不加(),不是以一个函数执行
    使用缓存,减少性能消耗
<script setup>
import {
    ref, computed } from "vue";
const list = ref({
   
  books: [
    "语文",
    "数学",
    "英语",
  ],
});

// 一个计算属性 ref
const booksLength = computed(() => {
   
  return list.value.books.length > 0 ? "Yes" : "No";
});
</script>

<template>
  <p>拥有书籍的个数:</p>
  <span>{
   {
    booksLength }}</span>
</template>
  • 可写计算属性
<script setup>
import {
    ref, computed } from "vue";
const firstName = ref("老");
const lastName = ref("王");

const fullName = computed({
   
  // getter
  get() {
   
    return firstName.value + " " + lastName.value;
  },
  // setter
  set(newValue) {
   
    // 注意:我们这里使用的是解构赋值语法
    [firstName.value, lastName.value] = newValue.split(" ");
  },
});
// fullName.value = "范 冰冰";
</script>

<template>
  <p>Has published books:</

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

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

相关文章

介绍一下atol(arr);(c基础)

hi , I am 36 适合对象c语言初学者 atol(arr)&#xff1b;是返回整数(long型)&#xff0c;整数是arr数组中字符中数字 格式 #include<stdio.h> atol(arr); 返回值arr数组中的数字 未改变arr数组 #include<stdio.h> //atol(arr); 返 <stdlib> int main…

微信小程序WXSS全局样式与局部样式的使用教程

微信小程序WXSS全局样式与局部样式的使用教程 引言 在微信小程序的开发中,样式的设计与实现是提升用户体验的关键部分。WXSS(WeiXin Style Sheets)作为微信小程序的样式表语言,不仅支持丰富的样式功能,还能通过全局样式与局部样式的灵活运用,帮助开发者构建美观且易于维…

OceanBase 大数据量导入(obloader)

现需要将源数据库&#xff08;Oracle|MySQL等&#xff09;一些表的海量数据迁移到目标数据库 OceanBase 中&#xff0c;基于常规 jdbc 驱动编码的方式涉及开发工作&#xff0c;性能效率也要看编码的处理机制。 OceanBase 官方提供了的 OceanBase Migration Service (OMS) 数据…

Spring Boot框架:英语知识网站构建指南

3系统分析 3.1可行性分析 通过对本英语知识应用网站实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本英语知识应用网站采用SSM框架&#xff0c;JAVA作为开发语…

路由器中继与桥接

一 . 背景 现在的路由器大多数已经开始支持多种网络连接模式&#xff0c;以下将以TP-Link迷你无线路由器为例进行展开介绍。在TP-Link迷你无线路由器上一般有AP&#xff08;接入点&#xff09;模式&#xff0c;Router&#xff08;无线路由&#xff09;模式&#xff0c;Repeate…

Paddle Inference部署推理(一)

一&#xff1a;Paddle Inference推理 简介 Paddle Inference 是飞桨的原生推理库&#xff0c;提供服务器端的高性能推理能力。由于 Paddle Inference 能力直接基于飞桨的训练算子&#xff0c;因此它支持飞桨训练出的所有模型的推理。 Paddle Inference 功能特性丰富&#xff…

前端 vue3 + element-plus + ts 对话框示例

【父组件】&#xff1a;SampleInput.vue&#xff0c;局部代码片段 引入子组件 ApplyItemChooseDialog.vue&#xff0c;定义变量&#xff0c;用于渲染和显示标识 <script>片段代码 import ApplyItemChooseDialog from "/views/accept/ApplyItemChooseDialog.vue&q…

【最优清零方案——贪心+滑动窗口:暴力/线段树/单调队列】

题目 暴力 #include <bits/stdc.h> using namespace std; using ll long long; const int N 1e6 10; int a[N]; int main() {int n, k;cin >> n >> k;ll sum 0;for (int i 1; i < n; i)cin >> a[i], sum a[i];int minn 1e9, pos;ll cnt 0…

Python爬取豆瓣电影全部分类数据并存入数据库

在当今数字化的时代&#xff0c;网络上丰富的影视资源信息吸引着众多开发者去挖掘和利用。今天&#xff0c;我就来和大家分享一段有趣的代码&#xff0c;它能够从豆瓣电影平台获取相关数据并存储到数据库中哦。 结果展示&#xff08;文末附完整代码&#xff09;&#xff1a; 目…

数据结构 ——— 归并排序算法的实现

目录 归并排序的思想 归并排序算法的实现 归并排序的思想 将已经有序的子序列合并&#xff0c;得到完全有序的序列&#xff0c;即先使每个子序列有序后&#xff0c;再使子序列段间有序 若将两个有序表合并成一个有序表&#xff0c;称为二路归并 归并排序步骤示意图&#x…

vue2面试题11|[2024-11-25]

1.vue源码-模版解析 <!DOCTYPE html> <html> <head><title></title> </head> <body><div idapp><h1> {{ str }} </h1>{{ str }} </div></body><script type"text/javascript" srcvue.js…

web博客系统的自动化测试

目录 前言测试用例编写自动化脚本测试准备博客登录页相关测试用例登陆成功登录失败 博客首页相关测试用例登陆成功登录失败 博客详情页相关测试用例登录成功登录失败 博客编辑页相关测试用例登陆成功登录失败 编写测试文档测试类型内容 前言 本次测试是运用个人写的一个博客系…

MATLAB矩阵元素的修改及删除

利用等号赋值来进行修改 A ( m , n ) c A(m,n)c A(m,n)c将将矩阵第 m m m行第 n n n列的元素改为 c c c&#xff0c;如果 m m m或 n n n超出原来的行或列&#xff0c;则会自动补充行或列&#xff0c;目标元素改为要求的&#xff0c;其余为 0 0 0 A ( m ) c A(m)c A(m)c将索引…

告别 Kafka,拥抱 Databend:构建高效低成本的用户行为分析体系

用户行为数据埋点指标是数据仓库中不可或缺的重要数据源之一&#xff0c;同时也是企业最宝贵的资产之一。通常情况下&#xff0c;用户行为数据分析包含两大数据源&#xff1a;用户行为分析日志和上游关系型数据库&#xff08;如 MySQL&#xff09;。基于这些数据&#xff0c;企…

WEB攻防-通用漏洞文件上传中间件解析漏洞编辑器安全

中间件文件解析-IIS&Apache&Nginx Web应用编辑器-Ueditor文件上传安全 实例CMS&平台-中间件解析&编辑器引用 Vulhub是一个基于docker和docker-compose的漏洞环境集合&#xff0c;进入对应目录并执行一条语句即可启动一个全新的漏洞环境&#xff0c;让漏洞复现…

【算法day1】数组:双指针算法

题目引用 这里以 1、LeetCode704.二分查找 2、LeetCode27.移除元素 3、LeetCode977.有序数组的平方 这三道题举例来说明数组中双指针的妙用。 1、二分查找 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜…

快速理解微服务中Sentinel怎么实现限流

Sentinel是通过动态管理限流规则&#xff0c;根据定义的规则对请求进行限流控制。 一.实现步骤 1.定义资源&#xff1a;在Sentinel中&#xff0c;资源可以是URL、方法等&#xff0c;用于标识需要进行限流的请求&#xff1b;(在Sentinel中&#xff0c;需要我们去告诉Sentinel哪些…

controller中的参数注解@Param @RequestParam和@RequestBody的不同

现在controller中有个方法&#xff1a;&#xff08;LoginUserRequest是一个用户类对象&#xff09; PostMapping("/test/phone")public Result validPhone(LoginUserRequest loginUserRequest) {return Result.success(loginUserRequest);}现在讨论Param("login…

OpenCV截取指定图片区域

import cv2 img cv2.imread(F:/2024/Python/demo1/test1/man.jpg) cv2.imshow(Image, img) # 显示图片 #cv2.waitKey(0) # 等待按键x, y, w, h 500, 100, 200, 200 # 示例坐标 roi img[y:yh, x:xw] # 截取指定区域 cv2.imshow(ROI, roi) cv2.waitKey(0) cv…

【经典】星空主题的注册界面HTML,CSS,JS

目录 界面展示 完整代码 说明&#xff1a; 这是一个简单的星空主题的注册界面&#xff0c;使用了 HTML 和 CSS 来实现一个背景为星空效果的注册页面。 界面展示 完整代码 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8&…