初始vue3.0

1.vue3.0亮点:

  • 语义明确
  • 书写简洁
  • 阅读直观,不需要通过vue在编译
  • 服用,低耦合性更强(没有this)
  • 和react hooks 异曲同工

2.vue3.0如何变快的?

1. diff算法优化:
      vue2.0中的虚拟DOM是进行全量的对比。
      vue3.0中新增了静态标记(PatchFlag),在与上次虚拟节点进行对比的时候,只对比有静态标记的节点,并且可以通过flag的信息得知当前节点要对比的具体内容。
 2. hoist Static静态提升
     vue2中无论元素是否参与更新,每次都会重新创建,再渲染。
     vue3中对于不参与更新的元素,会做静态提升,只会创建一次,在渲染时直接复用。
3. cacheHandlers事件侦听器缓存

3.vue3.0启动方式与vue2.0启动方式对比

//vue3.0启动方式
var app = createApp(App);
app.use(store).use(router).mount('#app')
//vue2.0启动方式
import {createApp} from 'vue'
new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')

4.vue3.0与vue2.0定义全局方法对比

//vue3.0定义全局方法
app.config.globalProperties.$mysay = function(xxx) {}
//vue2.0定义全局方法
Vue.prototype.$http=xxx

5.setup组合api

ref:定义值类型数据

reactive:定义引用类型的数据

import {ref,reactive} from 'vue'
set(){
const num =ref(5);
const list=reactive(["vue","react","angular"])
return {num,list};
},

6.computed计算

const rmsg = computed(()=>num.value.split("").reverse().join(""))
const counter = computed({
set:v=>num.value+=1;
get:()=>num.value
})

7.watc监听与watchEffect监听

watch(num, (num, onum) => {
	console.log("num发生变化", num, onum);
})
const stop = watchEffect(() => {
	// 这个回调函数引用的值,都会被监听
	console.log(num.value, list[0]);
	localStorage.setItem("num", num.value);
})

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值