vue2语法速通
首先,git clone下来的项目要npm install下载依赖,如果是vue项目,运行通常npm run serve或者npm run dev
vue速通一下
- 使用vite创建项目(较快)
npm create vite
配置文件
src/
├── assets/ # 存放静态资源,如图片、字体、视频等
├── components/ # 公共组件
├── views/ # 页面组件
├── router/ # 路由配置
├── store/ # 状态管理(Vuex 或 Pinia)
├── api/ # 后端 API 请求
├── utils/ # 工具函数
├── assets/ # 样式文件,字体、图片等
└── App.vue # 根组件
vite.config.js:项目的配置文件,基于vite的配置
package.json:项目包文件,核心依赖项变成了vue3,vite
main.js入口文件,createApp创建Vue实例,吃实话vue应用,配置全局插件,引入根组件
main.js
import './style.css'
import App from './App.vue'
import { createApp } from 'vue'createApp(App).mount('#app');
//原始new Vue()创建一个应用实例 =升级=> createApp() 将创建实例进行了封装,保证每个实例的独立封闭性
基础语法
setup:通过setup选项提供一种新的组件内部结构,以更模块化的方式组织代码



指令
指令属性
<p v-text="htmlContent"></p>
<p v-html="htmlContent"></p>
渲染属性
<p v-for="item in 5">这是内容</p>
<p v-if="false">标签内容</p>
属性指令
<p v-bind:title="title">这是内容</p>
<p :title="title">这是内容</p>
事件指令
<button v-on:click="output">按钮</button>
<button @click="output">按钮</button>
表单指令 v-model可是实现数据双向绑定
<input type="text" v-model="inputValue"><!-- 可以更改内部数据从而改变页面反应 --!>
<p v-text="inputValue"></p>
修饰符
<input type="text" v-model.trim="inputValue">trim可以实现清除数据
组件开发
Vue CLI 是一个基于Vue.js进行快速项目搭建的工具。它是一个全局安装的npm包,为Vue.js应用程序快速创建项目模板
vuex
vuex是一个专门为vue.js应用程序开发的状态管理工具

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。以下是对 Vuex 的详细介绍:
核心概念
state:用于存储应用的所有状态数据,是一个普通的 JavaScript 对象。可以将其看作是一个“数据仓库”,包含了组件之间共享的数据。例如在一个电商应用中,购物车中的商品列表就可以存储在 state 中。
const state = {cartItems: []
}
组件中获取 state 数据的方式:在 Vue 组件中,可以通过 this.$store.state 来访问 state 中的数据。如果使用计算属性,代码会更加简洁和易读:
export default {computed: {cartItems() {return this.$store.state.cartItems;}}
}
mutations:唯一可以修改 state 的地方,是一些纯函数。每个 mutation 都有一个字符串的事件类型和一个回调函数,回调函数接收 state 作为第一个参数。这种设计保证了状态变化的可预测性。
const mutations = {ADD_TO_CART(state, item) {state.cartItems.push(item);}
}触发 mutations 的方式:在组件中通过 this.$store.commit('mutationType', payload) 来触发,例如:
export default {methods: {addItemToCart() {const newItem = { name: 'Product 1', price: 10 };this.$store.commit('ADD_TO_CART', newItem);}}
}
actions:用于处理异步操作,如发送网络请求等。actions 可以触发 mutations 来间接修改 state。它也有一个上下文对象,包含了 state、commit 等属性。
const actions = {async fetchCartItems({ commit }) {try {const response = await fetch('https://api.example.com/cart-items');const data = await response.json();commit('SET_CART_ITEMS', data);} catch (error) {console.error('Error fetching cart items:', error);}}
}触发 actions 的方式:在组件中通过 this.$store.dispatch('actionType', payload) 来调用,例如:
export default {created() {this.$store.dispatch('fetchCartItems');}
}
getters:类似于计算属性,用于获取 state 中的数据,起到对 state 数据进行过滤、计算等作用。它的优点是可以缓存计算结果,只有当依赖的 state 数据发生变化时才会重新计算。
const getters = {totalCartPrice(state) {return state.cartItems.reduce((total, item) => total + item.price, 0);}
}在组件中使用 getters 的方式:与计算属性类似,通过 this.$store.getters 访问,例如:
export default {computed: {totalCartPrice() {return this.$store.getters.totalCartPrice;}}
}
项目中的应用场景
多组件共享状态:当多个组件需要共享数据时,将数据存储在 Vuex 的 state 中,避免了通过层层传递 prop 或者使用事件总线(Event Bus)带来的复杂性和维护成本。例如,在一个多页面的电商应用中,商品列表页、购物车页和结算页都需要共享购物车的状态,使用 Vuex 可以方便地实现数据的共享和同步更新。
复杂状态管理:对于复杂的业务逻辑,如涉及多个状态的联动变化、异步操作等,Vuex 的 mutations、actions 和 getters 提供了清晰的结构来管理和维护这些逻辑。例如在处理用户登录和权限管理时,可以在 actions 中处理登录的异步请求,通过 mutations 更新用户登录状态,使用 getters 判断用户是否具有某些权限。
优势
可预测性:由于 mutations 是唯一可以修改 state 的地方,并且是纯函数,使得应用的状态变化变得可预测。开发人员可以很容易地追踪状态的变化过程,便于调试和维护。
便于团队协作:Vuex 提供了一种集中式的状态管理方式,所有的状态数据和状态变化逻辑都集中在一个地方。团队成员可以更容易地理解和维护项目的状态管理逻辑,减少了因状态管理混乱而导致的错误。
利于代码复用:在不同的项目中,如果有相似的状态管理需求,可以方便地复用 Vuex 的模块和逻辑,提高开发效率。
vue-router
基础路由
使用的时候要在上面进行导入

动态路由,子路由

编程式导航,路由跳转

相关文章:
vue2语法速通
首先,git clone下来的项目要npm install下载依赖,如果是vue项目,运行通常npm run serve或者npm run dev vue速通一下 使用vite创建项目(较快) npm create vite 配置文件 src/ ├── assets/ # 存放…...
doris:基于导入的批量删除
基于导入的批量删除 删除操作可以视为数据更新的一种特殊形式。在主键模型(Unique Key)表上,Doris 支持通过导入数据时添加删除标记来实现删除操作。 相比 DELETE 语句,使用删除标记在以下场景中具有更好的易用性和性能优势&a…...
【商品库存管理——差分、前缀和】
题目 代码 #include <bits/stdc.h> using namespace std; const int N 3e510; int l[N], r[N], b[N]; int s1[N], s0[N]; int main() {int n, m;cin >> n >> m;for(int i 1; i < m; i){cin >> l[i] >> r[i];b[l[i]], b[r[i]1]--;}int a 0…...
Linux基本指令2
07.man指令(重要): Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是 man 语法: man [选项] 命令 man ls查看ls指令更多的说明。 man man: man指令就…...
运维监控平台 WGCLOUD
WGCLOUD v3.5.7 于 2025 年 2 月 3 日发布1。这是一款开源免费的分布式运维监控平台,server 端基于 springboot 开发,agent 端使用 go 编写1。以下是 v3.5.7 版本的更新内容1: 2. 自定义告警批量添加设置 3. 告警通知渠道设置 4. 告警规则设置…...
GDAL矢量数据集相关接口的资源控制问题
1. 引言 笔者在《使用GDAL读写矢量文件》这篇文章中总结了通过GDAL读写矢量的具体实现。不过这篇文章中并没有谈到涉及到矢量数据集相关接口的资源控制问题。具体来说,GDAL/OGR诞生的年代连C语言本身都不是很完善(c11之前),因此提…...
Android学习19 -- 手搓App
1 前言 之前工作中,很多时候要搞一个简单的app去验证底层功能,Android studio又过于重型,之前用gradle,被版本匹配和下载外网包折腾的堪称噩梦。所以搞app都只有找应用的同事帮忙。一直想知道一些简单的app怎么能手搓一下&#x…...
人工智能导论-第3章-知识点与学习笔记
参考教材3.2节的内容,介绍什么是自然演绎推理;解释“肯定后件”与“否定前件”两类错误的演绎推理是什么意义,给出具体例子加以阐述。参考教材3.3节的内容,介绍什么是文字(literal);介绍什么是子…...
wxWidgets中wxGrid表格使用示例,去掉竖向表头
这里设置表格各种属性如下: // 去掉竖向表头 grid->SetRowLabelSize(0); // 设置表格背景色为黑色 grid->SetDefaultCellBackgroundColour(*wxBLACK); // 设置单元格内容居中,字体为16号,白色 wxFont cellFont(16, wxFONTFAMILY_DEFAULT, wx…...
全面掌握市场信息:xtquant库在证券品种数据获取中的应用
全面掌握市场信息:xtquant库在证券品种数据获取中的应用 开篇点题:技术背景和应用场景 在量化交易领域,快速准确地获取市场基础信息是至关重要的。xtquant库提供了一种便捷的途径来获取各类证券品种的数据,包括股票、指数、基金等…...
DeepSeek 的含金量还在上升
大家好啊,我是董董灿。 最近 DeepSeek 越来越火了。 网上有很多针对 DeepSeek 的推理测评,除此之外,也有很多人从技术的角度来探讨 DeepSeek 带给行业的影响。 比如今天就看到了一篇文章,探讨 DeepSeek 在使用 GPU 进行模型训练…...
day38|leetcode 322零钱兑换,279.完全平方数,139.单词拆分
322. 零钱兑换 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是…...
【Linux系统】信号:信号保存 / 信号处理、内核态 / 用户态、操作系统运行原理(中断)
理解Linux系统内进程信号的整个流程可分为: 信号产生 信号保存 信号处理 上篇文章重点讲解了 信号的产生,本文会讲解信号的保存和信号处理相关的概念和操作: 两种信号默认处理 1、信号处理之忽略 ::signal(2, SIG_IGN); // ignore: 忽略#…...
Go语言指针的解引用和间接引用
在 Go 语言中,"解引用"和"间接引用"是与指针相关的概念。 解引用 (Dereferencing): 解引用是指通过指针访问它所指向的变量的值。在 Go 中,使用星号(*)来解引用一个指针。 例如: v…...
【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.6 广播机制核心算法:维度扩展的数学建模
2.6 广播机制核心算法:维度扩展的数学建模 目录/提纲 #mermaid-svg-IfELXmhcsdH1tW69 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-IfELXmhcsdH1tW69 .error-icon{fill:#552222;}#mermaid-svg-IfELXm…...
硬件产品经理:需求引力模型(DGM)
目录 1、DGM 模型简介 2、理论核心:打破传统线性逻辑 3、三大定律 第一定律:暗物质需求法则 第二定律:引力井效应 第三定律:熵减增长律 4、落地工具包 工具1:需求密度热力图 工具3:摩擦力歼灭清单…...
基于“蘑菇书”的强化学习知识点(四):贝尔曼方程
贝尔曼方程 摘要贝尔曼方程(Bellman Equation)详解1. 核心思想2. 基本概念3. 贝尔曼方程的两种形式(1) 状态值函数的贝尔曼方程(2) 动作值函数的贝尔曼方程 4. 贝尔曼最优方程(Bellman Optimality Equation)5. 示例:网…...
Guided Decoding (借助FSM,有限状态自动机)
VLLM对结构化输出的支持: vllm/docs/source/features/structured_outputs.md at main vllm-project/vllm GitHub VLLM对tool call的支持: vllm/docs/source/features/tool_calling.md at main vllm-project/vllm GitHub 以上指定输出格式…...
ComfyUI工作流 图像反推生成人像手办人像参考(SDXL版)
文章目录 图像反推生成人像手办人像参考SD模型Node节点工作流程效果展示开发与应用图像反推生成人像手办人像参考 本工作流旨在通过利用 Stable Diffusion XL(SDXL)模型和相关辅助节点,实现高效的人像参考生成和手办设计。用户可通过加载定制的模型、LORA 调整和控制节点对…...
C++11新特性之long long超长整形
1.介绍 long long 超长整形是C11标准新添加的,用于表示更大范围整数的类型。 2.用法 占用空间:至少64位(8个字节)。 对于有符号long long 整形,后缀用“LL”或“II”标识。例如,“10LL”就表示有符号超长整…...
【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.5 高级索引应用:图像处理中的区域提取
2.5 高级索引应用:图像处理中的区域提取 目录/提纲 #mermaid-svg-BI09xc20YqcpUam7 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-BI09xc20YqcpUam7 .error-icon{fill:#552222;}#mermaid-svg-BI09xc20…...
响应式编程_01基本概念:前世今生
文章目录 引言响应式编程的技术优势全栈式响应式编程从传统开发模式到异步执行技术Web 请求与 I/O 模型异步调用的实现技术回调Future机制 响应式编程实现方法观察者模式发布-订阅模式数据流与响应式 响应式宣言和响应式系统 引言 大流量、高并发的访问请求的项目,…...
系统URL整合系列视频一(需求方案)
视频 系统URL整合系列视频一(需求方案) 视频介绍 (全国)某大型分布式系统Web资源URL整合需求实现方案讲解。当今社会各行各业对软件系统的web资源访问权限控制越来越严格,控制粒度也越来越细。安全级别提高的同时也增…...
C#中的委托(Delegate)
什么是委托? 首先,我们要知道C#是一种强类型的编程语言,强类型的编程语言的特性,是所有的东西都是特定的类型 委托是一种存储函数的引用类型,就像我们定义的一个 string str 一样,这个 str 变量就是 string 类型. 因为C#中没有函数类型,但是可以定义一个委托类型,把这个函数…...
Ubuntu 24.04 安装 Poetry:Python 依赖管理的终极指南
Ubuntu 24.04 安装 Poetry:Python 依赖管理的终极指南 1. 更新系统包列表2. 安装 Poetry方法 1:使用官方安装脚本方法 2:使用 Pipx 安装 3. 配置环境变量4. 验证安装5. 配置 Poetry(可选)设置虚拟环境位置配置镜像源 6…...
爱普生L3153打印机无线连接配置流程
家里使用的是移动宽带中兴路由器,有WPS功能,进入192.168.1.1管理员页面,用户名user,密码在路由器背面(可以登录后修改密码)。在网络-WLAN网络配置-WPS中,点击push button,激活路由器…...
LabVIEW如何有效地进行数据采集?
数据采集(DAQ)是许多工程项目中的核心环节,无论是测试、监控还是控制系统,准确、高效的数据采集都是至关重要的。LabVIEW作为一个图形化编程环境,提供了丰富的功能来实现数据采集,确保数据的实时性与可靠性…...
D. Vessels
题目链接:Problem - 371D - Codeforces 题目大意:有n层容器用来装水, 当一层的水满了,就会向下溢出,进入下一层,最后一层的溢出将会在地上。现有两种操作 1.在p层的容器里加入x升水。 2.查询p层的水量为…...
vue声明周期及其作用
vue声明周期及其作用 1. 生命周期总览 2. beforeCreate 我们在new Vue()时,初始化一个Vue空的实例对象,此时对象身上只有默认的声明周期函数和事件,此时data,methods都未被初始化 3. created 此时,已经完成数据观测࿰…...
安全策略实验
安全策略实验 1.拓扑图 2.需求分析 需求: 1.VLAN 2属于办公区,VLAN 3属于生产区 2.办公区PC在工作日时间(周一至周五,早8到晚6)可以正常访问OA server其他时间不允许 3.办公区PC可以在任意时刻访问Web Server 4.生产…...
