部分vue3.0 特性

Vue3进行了重大更新,包括data选项标准化为函数、watch监听数组行为变化、支持多根节点的片段以及引入组合式API以提升代码可读性和维护性。在组合式API中,开发者可以将逻辑集中处理,提高组件的组织结构。这些改动旨在优化开发体验并增强组件的灵活性。
摘要由CSDN通过智能技术生成

一、一些小改变

1 destroyed 生命周期选项被重命名为 unmounted

2 beforeDestroy 生命周期选项被重命名为 beforeUnmount

3 data 选项应始终被声明为一个函数
在 2.x 中,开发者可以定义 data 选项是 object 或者是 function

<!-- Object 声明 -->
<script>
  const app = new Vue({
    data: {
      apiKey: 'a1b2c3'
    }
  })
</script>

<!-- Function 声明 -->
<script>
  const app = new Vue({
    data() {
      return {
        apiKey: 'a1b2c3'
      }
    }
  })
</script>

在 3.x,data 选项已标准化为只接受返回 object 的 函数:

<script>
  import { createApp } from 'vue'

  createApp({
    data() {
      return {
        apiKey: 'a1b2c3'
      }
    }
  }).mount('#app')
</script>

4 watch监听数组时,只有当数组被替换时,回调才会触发,如果需要在改变时触发,则需要指定 deep 选项。

使用 监听数组时,在数组改变时 watch 回调将不再被触发。要想在数组改变时触发 watch 回调,就要指定 deep 选项:

二、新特性

1 片段

Vue 3 现在正式支持了多根节点的组件,也就是片段。

在 2.x 中,由于不支持多根节点组件,组件被包裹在一个 <div> 中:

<template>
  <div>
    <header>...</header>
    <main>...</main>
    <footer>...</footer>
  </div>
</template>

在 3.x 中,组件可以包含多个根节点。

<!-- Layout.vue -->
<template>
  <header>...</header>
  <main v-bind="$attrs">...</main>
  <footer>...</footer>
</template>

2 组合式 API

将同一逻辑代码收集在一起,使代码将更具可读性,更易维护。

以一个搜索组价为例:

当被要求再增加几个功能时,我们的逻辑可能会变成如下这样:

同一逻辑代码将在不同选项(components, props, data, computed, methods)中进行拆封,从而导致我们逻辑关注点分散,降低了理解性和可读性。

这种碎片化使得理解和维护复杂组件变得困难。此外,在处理单个逻辑关注点时,我们必须不断地“跳转”(上下滑动)相关代码块。

如果我们能够将同一逻辑代码收集在一起,那么我们的代码将更具可读性,更易于维护:

在 Vue 组件中,我们在 setup 中使用组合式 API。
那么这个例子如果采用组合式API把代码组合在一起,它会是这样:

我们需要把某功能相关逻辑封装到函数中,再在setup中引用:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲起来blingbling

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值