【Vue3】李南江老师讲解--个人笔记(一)

太喜欢李南江老师了,自带二倍速还可以讲的明明白白,又拥有一个有趣的灵魂~i了i了

【vue3笔记】

vue2和vue3的区别:

1.vue2使用Object.defineProperty方法实现响应式数据
缺点:无法检测到对象属性的动态添加和删除
无法检测到数组的下标和length属性的变更
解决方案:
vue2提供Vue.$set动态给对象添加属性
Vue.$delete动态删除对象属性
重写数组的方法,检测数组变更2
2.vue3使用proxy实现响应式数据
优点:可以检测到代理对象属性的动态新增和删除
可以见到测数组的下标和length属性的变化
缺点:es6的proxy不支持低版本浏览器 IE11
回针对IE11出一个特殊版本进行支持

vue3的新特性:

性能比vue2快一到两倍:diff算法优化:在创建虚拟DOM的时候,会根据DOM中的内容会不会发生变化,添加静态标记。静态提升:对不参与提升的元素,做静态提升,只会被创建一次,在渲染时直接复用。事件监听缓存:默认onClick会被视为动态绑定,所以每次都会追踪他的变化,但是因为是同一个函数,所以没有追踪变化,直接缓存起来复用即可。

按需编译,体积比vue更小

Composition API:组合API

更好的TS支持

暴露了自定义渲染API

更先进的组件

关于vue3的setup()函数

setup()函数是组合API的入口函数,在setup()中定义的变量/方法,要想在外界使用,必须使用return {xxx,xxx}暴露出去

setup()是在beforeCreate和Created之间执行的,由于在执行setup函数的时候,还没有执行Created生命周期方法,所以不可以使用data和methods,所以,为了避免使用data值的错误使用,vue直接将setup函数中的this修改成了undefined。

setup()函数只能是同步的不能是异步的

setup()可以使用ref,reactive定义响应式数据,本质上就是将传入的数据包装成一个Proxy对象。使用reactive必须是对象(JSon/arr)

【三种方式】创建vue3项目:

–webpack
git clone https://github.com/vuejs/vue-next-webpack-preview.git projectName
cd projectName
npm install
npm run dev

– vue-cli
npm install -g @vue/cli
vue create projectName
cd projectName
vue add vue-text
npm run serve

– vite
安装vite: npm install -g create-vite-app
创建项目:
create-vite-app projectName
cd projectName
npm install
npm run dev

注意点:
搭好之后,按需下载需要的资源,例如:
npm install --save element-ui
npm install --save axios

补充知识点

框架和库的区别:
框架:是一整套的完整的解决方案,换框架的话,需要重构整个项目;
库:也就是使用是插件,修改需要使用的插件就可以,可以实现无缝切换。
vue的核心概念:
1,通过数据驱动界面更新,不操作Dom来更新页面;2,组件化开发,可以将网页拆分成一个个的组件来编写

let vm = new Vue({
    router,
    store,
    el: '#app',
    render: (h) => h(App) //  Vue 实例选项对象的 render 方法作为一个函数,接受传入的参数 h 函数,返回 h(App) 的函数调用结果
});

render函数是渲染一个视图,然后提供给el挂载,没有render的话,页面什么都出不来。Vue 在创建 Vue 实例时,通过调用 render 方法来渲染实例的 DOM 树

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值