写笔记看看有没有
添加ts的支持,先安装ts
vue add @vue/typescript
使用vue3提供的defineComponent进行类型推断
import {defineComponent} from '@vue/composition-api'
export default defineComponent({
components:{
},
setup(){
}
})
使用
import ComPositionApi from '@vue/composition-ap'
Vue.use(ComPositionApi)
安装组合式api
npm i -S @vue/composition-api
1. 添加事件
const count = ref(0)
const add = ()=>{count.value++}
return {count,add}2. 副作用watchEffects
//初始化的时候就开始触发
watchEffect(()=>{
console.log(count.value)
})3. 停止
const stop = watchEffect(()=>{
console.log(count.value)
})
...
stop()//在需要停止的地方调用
...4. 清除副作用
const stop = watchEffect(async(cancel)=>{
await new Promise(function(resolve,reject){
console.log(count.value)
resolve()
})
cancel(()=>{
conaole.log('cancel')//在异步前执行
})
})5. watch
watch(count,(count,preCount)=>{
console,log(count,preCount)
})
computed
//方式一
const count = ref(0)
const double = computed(()=>count.value * 2)
...
count.value++
...
return {count,double}
方式二
const state = retactive({
count : 1,
double : computed(()=>state.count *2)
})
...
state.count++
...
return toRefs(state)
1. ref 和 reactive
const count = ref(0)
const state = reactive({count})
...
state.count++
...
return {count}2. toRefs
const state = reactive({count:0})
const {count} = toRefs(state)
...
state.count++
...
return {count}3. toRef
const state = reactive({count:0})
const count = toRef(state,'count')
...
state.count++
...
return {count}
1. ref
const count = ref(0)
...
count.value++
...
return {count}2. 使用
<div>{{count}}</div>
1. reactive
const state = reactive({
count : 0
});
...
count++
...
return {state}//返回对象2. 使用
<div>{{state.count}}</div>
1. 安装依赖
$ cnpm i -D @vue/composition-api
2. 使用
import Vue from vue import CompositionApi from '@vue/composition-api' Vue.use(CompositionApi)
vue3.0优势
性能优化:虚拟DOM、编译模板、Proxy的新数据监听、更小的打包文件;
composition-api:新的组合式API,适合大型项目;
对TS支持更好;
https://github.com/aisiqilove/vue3.0composition-api.git
整理出来的github
提供html和css
有vue2和vue3以及加上ts后的app.vue
flush属性可以改变副作用执行顺序
副作用初始化在dom渲染之前执行,通过onMounted 中执行访问DOM/ref
flush属性可以改变副作用执行顺序
清除副作用 异步处理
stop() 副作用watchEffect 根据条件停止
use函数,可以理解为功能逻辑函数,向外返回数据、方法 在setup中使用,即也可以给其他use函数使用
生命周期必须在setup()函数中使用/调用
const state = reactive({
count: 1
});
const { count } = toRefs(state);
// toRefs把普通对象转化成ref()所对应的响应式数据
const { count } = toRef(state, 'count);
// 指定数据转化
return { count };
reactive结合ref使用,定义响应式数据
const count = ref(0);
const state = reactive({
count
})
return {
count
}
css部分
HTML部分
vue cli 安装