当前位置: 首页 > news >正文

校园网站模版女的可以学做网站

校园网站模版,女的可以学做网站,网站备案 通知,分类列表页wordpressVue3 vs Vue2 主要差异对比指南 官网 1. 核心架构差异 1.1 响应式系统 Vue2#xff1a;使用 Object.defineProperty 实现响应式 // Vue2 响应式实现 Object.defineProperty(obj, key, {get() {// 依赖收集return value},set(newValue) {// 触发更新value newValue} })Vue3…Vue3 vs Vue2 主要差异对比指南 官网 1. 核心架构差异 1.1 响应式系统 Vue2使用 Object.defineProperty 实现响应式 // Vue2 响应式实现 Object.defineProperty(obj, key, {get() {// 依赖收集return value},set(newValue) {// 触发更新value newValue} })Vue3使用 Proxy 实现响应式 // Vue3 响应式实现 const proxy new Proxy(target, {get(target, key) {// 依赖收集track(target, key)return target[key]},set(target, key, value) {// 触发更新target[key] valuetrigger(target, key)return true} })1.2 组合式 API vs 选项式 API Vue2主要使用选项式 API // Vue2 组件 export default {data() {return {count: 0}},methods: {increment() {this.count}},computed: {doubleCount() {return this.count * 2}} }Vue3引入组合式 API // Vue3 组件 import { ref, computed } from vueexport default {setup() {const count ref(0)const doubleCount computed(() count.value * 2)function increment() {count.value}return {count,doubleCount,increment}} }2. 性能优化 2.1 虚拟 DOM Vue2 虚拟 DOM 更新时需要遍历整个虚拟 DOM 树组件级别的更新优化 Vue3 引入静态树提升引入 Patch Flag 标记动态内容基于 Block 的更新机制 !-- Vue3 模板编译优化 -- divh1静态内容/h1div :iddynamicId{{ dynamicContent }}/div /div2.2 编译优化 Vue2 运行时确定更新范围需要遍历更多不必要的节点 Vue3 编译时优化Tree-shaking 支持更小的打包体积 // Vue3 按需导入 import { ref, onMounted } from vue3. 新特性对比 3.1 Fragment Vue2模板必须有一个根节点 !-- Vue2 -- templatedivh1标题/h1p内容/p/div /templateVue3支持多个根节点 !-- Vue3 -- templateh1标题/h1p内容/p /template3.2 Teleport Vue2需要第三方库实现Vue3内置支持!-- Vue3 Teleport -- teleport tobodymodal-component / /teleport3.3 Suspense Vue2不支持Vue3内置支持异步组件!-- Vue3 Suspense -- Suspensetemplate #defaultasync-component //templatetemplate #fallbackloading-component //template /Suspense4. API 差异 4.1 生命周期钩子 Vue2 // Vue2 生命周期 export default {beforeCreate() {},created() {},beforeMount() {},mounted() {},beforeUpdate() {},updated() {},beforeDestroy() {},destroyed() {} }Vue3 // Vue3 生命周期 import { onBeforeMount,onMounted,onBeforeUpdate,onUpdated,onBeforeUnmount,onUnmounted } from vueexport default {setup() {onBeforeMount(() {})onMounted(() {})onBeforeUpdate(() {})onUpdated(() {})onBeforeUnmount(() {})onUnmounted(() {})} }4.2 全局 API Vue2直接在 Vue 构造函数上挂载 // Vue2 Vue.component(my-component, {}) Vue.directive(my-directive, {}) Vue.mixin({})Vue3使用应用实例 // Vue3 const app createApp({}) app.component(my-component, {}) app.directive(my-directive, {}) app.mixin({})5. TypeScript 支持 5.1 类型系统 Vue2 需要额外的装饰器支持类型推导有限 // Vue2 with TypeScript Component export default class MyComponent extends Vue {message: string Hello }Vue3 原生支持 TypeScript更好的类型推导 // Vue3 with TypeScript import { defineComponent, ref } from vueexport default defineComponent({setup() {const message refstring(Hello)return { message }} })6. 其他重要变化 6.1 v-model 变化 Vue2 !-- Vue2 -- custom-inputv-modelvalueinputvalue $event /Vue3 !-- Vue3 -- custom-inputv-model:modelValuevalueupdate:modelValuevalue $event /6.2 自定义指令 Vue2 // Vue2 自定义指令 Vue.directive(my-directive, {bind(el, binding) {},inserted(el, binding) {},update(el, binding) {},componentUpdated(el, binding) {},unbind(el, binding) {} })Vue3 // Vue3 自定义指令 app.directive(my-directive, {beforeMount(el, binding) {},mounted(el, binding) {},beforeUpdate(el, binding) {},updated(el, binding) {},beforeUnmount(el, binding) {},unmounted(el, binding) {} })7. 最佳实践建议 7.1 Vue3 推荐做法 使用组合式 API 管理复杂逻辑利用 TypeScript 增强类型安全使用新的内置组件Fragment、Teleport、Suspense采用按需导入优化打包体积 7.2 迁移策略 渐进式迁移可以同时使用选项式 API 和组合式 API优先更新核心功能和性能瓶颈使用官方迁移工具辅助迁移关注废弃的特性和 Breaking Changes 简述 Vue 3 vs Vue 2 主要区别 1. 响应式系统 Vue 2使用 Object.defineProperty() 来实现数据的响应式。Vue 3使用 Proxy 对象进行数据响应式处理。相比 Vue 2Proxy 具有更好的性能和更强的功能支持更多的数据操作。 2. Composition API Vue 2采用 Options API 进行组件组织使用 data、methods、computed 等选项来定义组件的状态和行为。Vue 3引入了 Composition API通过 setup() 函数来组织组件的逻辑使得逻辑更加灵活且易于复用。你可以使用 ref、reactive、computed 等 API 来管理状态和副作用。 3. 性能提升 Vue 2性能相对较低尤其在复杂的组件树和大量数据绑定时。Vue 3引入了虚拟 DOM 重写和优化使得性能显著提升。Vue 3 的渲染机制更高效尤其在大规模应用中性能提升非常明显。 4. 生命周期钩子 Vue 2生命周期钩子包括 created、mounted、updated、destroyed 等。 Vue 3增加了新的生命周期钩子主要有 onBeforeMountonMountedonBeforeUpdateonUpdatedonBeforeUnmountonUnmounted 这些钩子可以在 Composition API 中使用。 5. TypeScript 支持 Vue 2Vue 2 对 TypeScript 的支持较为有限虽然有类型声明但开发体验并不完全。Vue 3Vue 3 对 TypeScript 的支持非常好几乎所有的 Vue 核心 API 都可以直接通过 TypeScript 进行类型推导提升了开发体验和类型安全性。 6. Fragment 支持 Vue 2组件只能有一个根元素必须是一个包裹元素。Vue 3引入了 Fragment 组件允许组件有多个根元素从而简化组件结构避免不必要的 DOM 元素嵌套。 7. Teleport Vue 2需要借助第三方库或手动实现才能将某个组件渲染到 DOM 的其他部分。Vue 3内置了 Teleport 组件允许将子组件渲染到 DOM 的任意位置非常适用于模态框、弹出层等需求。 8. Suspense Vue 2没有原生的 Suspense 机制需要手动处理异步加载。Vue 3引入了 Suspense 组件支持异步组件的加载和错误处理提升了异步渲染的开发体验。 9. 动态组件 Vue 2动态组件支持 v-bind 和 v-slot通过 $set 动态更新组件内容。Vue 3支持 Suspense 和 v-is 动态组件选择增强了动态组件的灵活性和易用性。 10. 其他 API 改进 Vue 2$refs 和 $children 存在一些限制特别是在动态组件中。Vue 3对 $refs 和 $children 的访问进行了优化支持更灵活的组件引用管理。 11. 模板编译器 Vue 2模板编译器的能力较为有限模板的执行效率相对较低。Vue 3模板编译器进行了重写支持静态树提升、编译时优化等使得渲染更加高效。 12. 其他功能 Vue 2支持 vue-router、vuex 等插件但对 Vue 3 中的多个新特性如 provide/inject的支持不如 Vue 3。Vue 3除了原生支持 provide/inject还通过 defineAsyncComponent 等增强了异步组件的功能进一步提升了开发的灵活性。 总结 Vue 3 在性能、灵活性、TypeScript 支持等方面都有显著提升。对于大型项目Vue 3 提供了更强大的 Composition API 和更高效的响应式系统而对于 Vue 2 开发者来说Vue 3 的新特性可能需要一段时间的学习和适应。
http://www.hkea.cn/news/14330843/

相关文章:

  • 国外优秀网站欣赏微网站建设方式
  • 棋牌 彩票网站建设wordpress升级
  • 网站备案包括空间内容吗网络热词2021流行语
  • 口碑好的福州网站建设wordpress漏洞框架
  • 朝阳区建网站公司有帮云永诚网络
  • 建个静态网站网页无法访问此页面怎么办?网页打不开怎么解决
  • 承德建设工程信息网站wordpress-cosy
  • 公司网站百度排名没有了提供网站建设方案ppt
  • 手机网站焦点图wordpress版权信息更换
  • 网站开发怎么连接sqlserver域名的价格
  • 餐饮食材配送网站开发企划书wordpress标签图片
  • 深圳私人网站优化wordpress表单
  • 网站服务费算什么费用义务教育标准化建设网站
  • 网站缩略图制作建设网站需要机房吗
  • 网站建设厘金手指排名二二网站建网站建设企业
  • 潍坊设计网站做网站设计用到的软件
  • wordpress改网站logo做外国网站用什么服务器
  • 手机网站建设+上海游戏网站建设杭州
  • 做网站如何选域名企业信息发布系统
  • 静态做网站网店托管代运营公司
  • 甘肃省环保建设申报网站ps软件入门教程
  • 大学选修课网站建设山西钢铁建设集团有限公司网站
  • godaddy域名买的网站热搜在哪里可以看
  • 做么网站有黄seo整体优化步骤怎么写
  • 网站集约化建设启示和建议免费网站管理系统
  • 网站建设全包公司推荐win7搭建wordpress
  • 重庆快速网站推广wordpress音乐主题pulse
  • 网销的网站建设与管理信用信息查询公示系统
  • 传统网站建设架构什么是百度快照
  • 怎样建设与维护自己的平台网站海南疾控发布问卷调查