目录
-Vue基础-
1、插值表达式 {{}}
2、Vue核心特性:响应式
3、开发者工具Vue Devtools(极简插件下载)
4、Vue指令
v-text
v-html
v-bind
v-on
v-if
v-show
v-for
v-model
5、Vue指令修饰符
.stop
.prevent
.capture
.self
.once
.enter、.tab、.delete、.esc 等
.ctrl、.alt、.shift、.meta
.lazy
.number
.trim
6、Vue实例属性
1. data
2.compute计算属性
3.watch监听器
4.created、mounted 等生命周期钩子
7、Vue的生命周期
8、工程化开发与脚手架 Vue CLI
两种开发模式
脚手架 Vue CLI
项目目录介绍
9、组件化开发与根组件
10、VueRouter的使用
11、VueX的使用
概念:Vue 是一款用于构建用户界面的 JavaScript 框架。
快速上手:
-创建一个Vue应用-
前提条件:
方法1:使用npm指令构建
npm create vue@latest
✔ Project name: …
✔ Add TypeScript? … No / Yes
✔ Add JSX Support? … No / Yes
✔ Add Vue Router for Single Page Application development? … No / Yes
✔ Add Pinia for state management? … No / Yes
✔ Add Vitest for Unit testing? … No / Yes
✔ Add an End-to-End Testing Solution? … No / Cypress / Nightwatch / Playwright
✔ Add ESLint for code quality? … No / Yes
✔ Add Prettier for code formatting? … No / Yes
✔ Add Vue DevTools 7 extension for debugging? (experimental) … No / Yes
Scaffolding project in ./...
Done.
安装完后,安装依赖并启动开发服务器:
cd
npm install
npm run dev
当你准备将应用发布到生产环境时,请运行:
npm run build
方法二:通过 CDN 使用 Vue
//1、引入Vue的CDN
//2、创建容器
{{ message }}
//3、创建Vue实例并指定配置项
作用:利用表达式进行插值并渲染到页面中(表达式是一个能被求值的代码)
注意事项:
Message: {{ msg }}
const app = new Vue({
el : '#cxk',
data: {
msg: '我叫鸡太美'
}
响应式:数据变化,视图自动更新
v-text
v-html
innerHTML
,会将绑定的值作为 HTML 代码进行渲染。
v-bind
:
。
v-on
@
。
v-if
false
,元素会被完全从 DOM 中移除;为 true
时才会渲染。
这是一个条件渲染的段落
v-show
false
,元素会通过设置 display: none
来隐藏,但元素仍然存在于 DOM 中。
这是一个通过 v-show 控制显示的段落
v-for
// items是源数据的数组名,item是该数组的迭代项,key用于管理状态,通过追踪id标识重新排序现有元素
- {{ item.name }}
v-model
你输入的内容是:{{ message }}
案例:
图片切换案例
Vue 图片切换
列表删除案例
Vue 列表删除案例
-
{{ item.name }}
事件修饰符
.stop
.stop
可以阻止这种传播。
.prevent
.prevent
可以阻止这种默认行为。
.capture
.capture
会让事件从外向内捕获。
.self
.once
按键修饰符
.enter
、.tab
、.delete
、.esc
等
系统修饰符
.ctrl
、.alt
、.shift
、.meta
表单修饰符
.lazy
v-model
的数据更新从默认的 input
事件改为 change
事件。也就是说,只有在输入框失去焦点或者按下回车键时,数据才会更新。
.number
v-model
绑定的输入值自动转换为数字类型。
.trim
data
data
是一个对象,用于存储 Vue 实例的数据。这些数据可以在模板中使用,并且当数据发生变化时,Vue 会自动更新与之绑定的 DOM 元素,实现数据的双向绑定。data
可以是一个对象,也可以是一个函数(在组件中必须是函数)。作用:能够根据已有的数据计算出新的值
基本语法:在 Vue 实例中,计算属性定义在 computed
选项里,其形式为一个对象,对象的每个属性都是一个函数。
Vue 计算属性示例
全名: {{ fullName }}
compute计算属性与methods方法的区别:
compute用于对数据的处理求得结果,methods用于处理业务逻辑
在 Vue 里,watch
监听器的作用是监测数据的变化,当被监听的数据发生改变时,会执行特定的操作。
使用场景
异步操作:发送网络请求,请求数据资源,比如搜索框根据关键词变化发送请求
复杂数据处理:一个数据变化会影响多个数据变化或需要重新计算,比如计算商品总价
事例:
Vue Watch 示例
当前输入: {{ message }}
created
、mounted
等生命周期钩子created
钩子在实例已经创建完成之后被调用,mounted
钩子在挂载完成后被调用。
Vue 生命周期钩子示例
Vue的生命周期分为四个阶段:创建,挂载,更新,销毁
创建(beforeCreate、created)
beforeCreate:此时 data
和 methods
等属性还未初始化,无法访问它们。通常用于在实例初始化开始时执行一些通用的初始化操作,比如添加全局的加载状态
created:可以访问 data
和 methods
,但 DOM 还未挂载。常用于发送网络请求来获取初始数据。
挂载(beforeMount、mounted)
beforeMount:template
模板已编译为 render
函数,但 $el
仍然是虚拟的 DOM 节点。
mounted:可以操作 DOM 元素,常用于初始化第三方插件、操作 DOM 元素等。
更新(beforeUpdate、updated)
beforeUpdate:可以在数据更新但 DOM 未更新时进行一些操作,比如保存当前 DOM 状态。
updated:可以在 DOM 更新后进行一些操作,比如获取更新后的 DOM 元素信息。
销毁(beforeDestroy、destroyed)
beforeDestroy:可以在实例销毁前进行一些清理工作,比如取消定时器、解绑自定义事件等。
destroyed:实例已经完全销毁,无法再访问实例的属性和方法。
激活(仅适用于
activated:当组件被缓存并重新激活时执行,可用于恢复组件状态或重新发起请求。
deactivated:当组件被缓存时执行,可用于暂停组件中的一些操作,如暂停定时器。
错误捕获(errorCaptured)
触发时机:当捕获一个来自子孙组件的错误时被调用。
特点:可以在这个钩子中处理错误,防止错误向上传播,同时可以记录错误信息。
传统开发模式:基于html、css、js文件,直接引入核心包,开发Vue
工程化开发模式:基于构建工具(webpack、vite)的环境开发Vue
概念:是一个全局命令工具
使用步骤:
1. 安装 Node.js 和 npm
//访问node.js官网下载安装后,通过一下命令验证安装
node -v
npm -v
2.安装 Vue CLI
//使用npm全局安装
npm install -g @vue/cli
//使用yarn全局安装
yarn global add @vue/cli
//验证安装成功
vue --version
3.创建项目
vue create project-name
4.启动项目
npm run serve 或 yarn serve
组件化:将一个复杂的应用拆分成多个小的、可复用的组件,每个组件负责一个特定的功能或页面部分
优势:1、提高代码复用 2、便于维护与管理
语法高亮插件:Vetur
插件使用一: 组件注册方式: 局部注册:只能在注册的组件内使用 1、创建.vue文件 2、在使用的组件内导入并注册 全局注册:所有组件内都能使用 1、创建.vue文件 2、main.js中进行全局注册 组件的三大组成部分 注意点: 只能有一个根元素