Vue 基础语法入门 Demo
计数器
字符串反转
隐藏/显示
TodoList
组件
基础知识讲解
vue 实例 & vue 组件
vue 生命周期函数
模版语法
- v-html
- v-text
- v-bind:tit="tit" 等价于 :tit="tit" :[tit]="tit" //属性名可以变化
- v-on:click 等价于 @click @[event]="xx" //事件名称也可以变化
- 阻止默认行为 .prevent
- v-once 变量只使用一次
- v-if
data & methods & computed & watcher
计算属性:效率更高,有缓存 ( 比 methods )
监听器:异步推荐使用 watch
watch 同步的话等价于 computed ,推荐使用 computed,因为更加简洁
样式绑定语法
class 样式
行内样式
vue 条件渲染
- v-if dom 不存在
- v-show display:none
- v-else
- v-else-if
vue 列表渲染
- v-for 优化性能: 加一个 key
vue 事件
- 绑定
- 修饰符
- 事件修饰符号
- prevent
- stop 停止冒泡
- capture 把事件变成捕获模式
- once 事件只执行一次
- passive 提升滚动性能
- self
- 按键修饰符号
- enter
- tab
- delete
- esc
- up
- down
- left
- right
- 鼠标修饰符
- left
- right
- middle
- 精确修饰符号
- exact eg: @click.ctrl.exact
- 事件修饰符号
双向绑定
checkbox
radio
select
v-model 修饰符
lazy number trim
Vue 组件
全局组件
局部组件
传值
类型校验
传入属性
传入函数
巧妙用法
单项数据流
Non Props
父子组件通信
双向绑定 props & emit
简写上面的代码
高级写法
多个数据建立关系
自定义修饰符
子组件传值给父组件
父子组件通信校验
校验值
校验事件
插槽
父模版数据传入到子模版中
默认插槽
具名插槽
作用域插槽(子组件传值给父组件)
动态组件 & 异步组件
非动态组件
动态组件
缓存
异步组件
基础知识查漏补缺
ref
获取 DOM 节点
父组件调用子组件的方法
inject/provide
层层传递
inject/provide 一次性不能响应式变化。孙子组件只拿一次
Vue 动画
过渡
方式一
方式二
动画
vue 单元素、单组件的入场出场动画
取消 css 动画
css 过渡
css 动画
css 过渡和动画
过渡和动画,以过渡的时间为准
不管是过度还是动画时间固定
css 动画样式命名
样式命名的用法
配合使用 animate.css
js 动画
vue 多个单元素、单组件的入场出场方式
先退出后进入
初次显示的时候,显示动画效果
列表动画
状态动画
mixin 混入
局部mixin
组件 data 优先级高于mixin data 优先级
生命周期函数
组件 methods 优先级高于mixin methods 优先级
自定义属性,组件中的属性高于mixin 中的属性优先级
修改自定义属性的优先级
对数据做校验的插件(全局 mixin )
Vue 自定义指令
全局 focus
局部 focus
指令传参
数据 data
等价于 updated 和 mounted
指令传参的巧妙使用
传松门 Teleport
蒙层,将蒙层放到 body 上
Teleport 蒙层,将元素放在其它元素下面
render 函数
template -> render-> h->虚拟 DOM -> 真实 DOM -> 展示到页面上
更优雅的方法
h
插件的定义与使用
插件
插件使用
校验插件
Composition API
setup
context
ref reactive readonly
ref 处理基础类型的数据
reactive 处理非基础类型的数据
readonly 只读
toRefs
toRef(可以解构出来没有的属性)
TodoList compostion API
TodoList 代码优化
computed
watch & watchEffect
基础类型
引用类型
监听多个值
watchEffect (ajax、异步)
生命周期
Provide & Inject
子组件不能修改父组件的代码
ref 获取真实的 DOM 元素节点
TODO
this 指向问题 (箭头函数)
参考:Vue3+系统入门与项目实战 (慕课网)
参考:Vue+Ts 快速上手