Vue 3.0与2.0比较

与vue2.0进行对比

参考:https://juejin.im/post/6847902215458258958

项目目录
  • 移除了配置文件目录:config和bulid
  • 移除了static文件夹,新增public文件夹,模板文件index.html放在其中
组合式API(使用的函数需要导入)
setup:新的vue组件,是组合式api入口
/* 两个参数
   props :
   context: 和this 不完全一样,选择性的暴露一些property,主要有slot,emit,attr
*/
setup(props, context) {
   return { }
}
数据声明(ref&reactive)
// 基本数据类型
import { ref } from 'vue'
let count = ref('aaa')
console.log(count.value)   // aaa
count.value = 'bb' // 赋值
/*
基本数据类型获取变量的值需要使用(变量.value)来获取值,在模板中可以直接使用(变量)
*/

// 对象
import { reactive  } from 'vue'
const obj = reactive({
  name: '111'
})
console.log(obj.name)   // 111
return  {
  count,
  obj
}
compute计算属性
import { computed } from 'vue'
const computeVal = computed(() => {
  return count.value * 2
})
watch属性
import { watch } from 'vue'
// watch单个ref数据
 watch(count, (newVal,oldVal) => {
  console.log(newVal, oldVal)
})

// watch单个reactive数据
watch(obj, (newObj, oldObj) => {
  console.log(newObj, oldObj)
})

// watch多个ref数据
 watch([conut,conut1], ([newCount, newCount1], [oldCount, oldCount1]) => {
      console.log(newCount, oldCount)
      console.log(newCount1, oldCount1)
  }{lazy: true})
  
// watch多个reactive数据
 watch([obj,obj2], ([newObj, newObj2], [oldObj, oldOb   j2]) => {
      console.log(newObj, oldObj)
      console.log(newObj2, oldObj2)
  }{lazy: true})
// lazy: true 在第一次创建不监听
watchEffect(首次和props改变才会执行)
import { watchEffect } from 'vue'
const watchEffect = watchEffect(() => {
})
isRef(),toRefs()

isRef():监测一个对象是否为ref
toRefs()

生命周期

beforeCreate/created => setup
boforeMount => onBeforeMount
Mounted => onMounted
beforeUpdata => onBeforeUpdate
Updated => onUpdated
beforeDestroy -> onBeforeUnmount
destoryed => onUmonted
errorCaptured -> onErrorCaptured

新钩子:
  • onRenderTracked
  • nRenderTriggered
模板可以有多个根标签
<template>
   <div></div>
   <div></div>
</template>
主文件main.js
2.x3.0
import Vue from ‘vue’;import { createApp } from ‘vue’
Vue.use(router)createApp(App).use(router)
new Vue.mount(’#app’)createApp(App).mount(’#app’)
Tree Shaking

用于描述移除JavaScript上下文中的未引用代码
vue 3.0不会打包未用到的API

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值