- vuecli 4.5以上
- 入口使用createApp,创建实例对象
setup函数
- 在组件实例化,然后初始化props,然后调用setup函数,setup会在beforeCreate钩子调用之前调用
- 返回值为一个对象
reactive类似于data,是个函数,返回响应式的对象
- setup中无法使用this
- vue3.2可以简写setup
- 语法糖
只需要在script上添加setup,不需要返回setup
reactive
reactive类似于data,是个函数,返回响应式的对象
ref
reactive返回响应式的对象,返回值只包含一个value属性
reactive ref结合使用
ref不需要使用.value赋值
ref和reactive区别
- ref一般处理基本数据类型,reactive一般处理复杂数据类型并且不能处理基本数据类型
toRefs
ES6中扩展运算符解构会取消响应式的state,所以需要使用toRefs
unref()
如果参数是一个 ref 则返回它的 value,否则返回参数本身。
const valueRef = ref('');
const value = unref(valueRef);
if (!value) { console.warning('请输入要拷贝的内容!'); return; }
computed
计算属性
watch
监听
清除监听
钩子函数
路由
createRouter
import { createRouter, createWebHashHistory } from 'vue-router'
const router = createRouter({
history: createWebHashHistory(),
routes
})
路由模式
route可以获取路由链接的参数
组间内守卫
导航解析过程
vue3路由添加的属性
异步组件
provide inject传递接收参数,不支持异步数据
解决provide异步数据无法传递问题
- 异步组件
配合async await
list组件内使用async await 请求数据
vuex
createStore
组件内使用
getter
mutation action
echarts使用4.9.0,最新不稳定
获取dom
添加typescript
typescript形式引入需要有完整的地址
aixos封装
hooks
不能在异步组件中定义钩子函数,这时候需要引入hooks