精读《Vue3.0 Function API》

精读《Vue3.0 Function API》攻略

什么是Vue3.0 Function API

Vue3.0 Function API 是 Vue3.0 中新添加的一种 API 范式,它是建立在组合式 API 之上的,旨在提高我们在编写 Vue 应用时的代码 风格及组件复用率等方面的优化。

如何使用Vue3.0 Function API

  1. 安装 Vue3.0
  // 安装 Vue3.0
  npm install vue@next
  1. 引入 Vue3.0
  // 引入 Vue3.0
  import { createApp } from 'vue'
  1. 使用 Vue3.0 Function API

Vue3.0 Function API 有以下几种使用方法:

1.使用setup配置函数

  // 自定义组件 Test.vue
  <template>
    <div>{{ state }}</div>
  </template>

  <script>
    import { reactive } from 'vue'
    export default {
      setup() {
        const state = reactive({
          msg: 'Hello, Vue3.0 Function API'
        })
        return { state }
      }
    }
  </script>

2.使用CompositionAPI

  // 自定义组件 Test.vue
  <template>
    <div>{{ state }}</div>
  </template>

  <script>
    import { reactive, toRefs } from 'vue'
    export default {
      setup() {
        const state = reactive({
          msg: 'Hello, Vue3.0 Function API'
        })
        return {
          ...toRefs(state)
        }
      }
    }
  </script>

Vue3.0 Function API的基本使用

1. ref

ref 其实就是 createRef 的加强版,用于传递数据,可以使用 .value 进行读写操作。

  import { ref } from 'vue'

  // 创建一个 ref
  const count = ref(0)

  // 读取 ref
  console.log(count.value) // 0

  // 修改 ref
  count.value++

  // 读取修改后的值
  console.log(count.value) // 1

2. computed

计算属性可以将一个响应式的依赖同步到 computed 中,可以在计算属性中封装一些具有简单逻辑的数据计算,返回值可以是任何 JavaScript 值。

  import { computed, reactive } from 'vue'

  const state = reactive({
    num1: 0,
    num2: 0
  })

  // 定义计算属性
  const total = computed(() => {
    return state.num1 + state.num2
  })

  // 读取计算属性
  console.log(total.value) // 0

  // 修改依赖
  state.num1 = 1

  // 读取修改后的值
  console.log(total.value) // 1

3. watchEffect

watchEffect 的作用与 watch 相似,监听响应式数据的变化并执行回调函数,但是 watchEffect 可以自动依赖响应式数据,并在依赖数据发生变化时重新执行一次回调函数。

  import { reactive, watchEffect } from 'vue'

  const state = reactive({
    num1: 0,
    num2: 0
  })

  // 监听响应式数据
  watchEffect(() => {
    console.log(state.num1 + state.num2)
  })

  // 修改依赖
  state.num1 = 1

总结

Vue3.0 Function API 借鉴了 React hooks 的设计思想,将组件的复杂度转移到函数内部,同时又保留了 Vue 2.x 的响应式设计模式,让我们编写 Vue 应用更加简单,同时也让我们的组件更加高效、易于维护。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:精读《Vue3.0 Function API》 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • vue 路由懒加载详情

    Vue路由懒加载是一种优化技术,可以大幅提高Vue应用程序的性能。当使用Vue路由懒加载时,只有在需要用到相应组件时才会下载其代码。本文将提供Vue路由懒加载的详细攻略,以及两个示例说明。 什么是路由懒加载 Vue是一个单页应用程序框架,使用路由可以在不同页面之间切换。通过路由懒加载,可以优化Vue应用程序的性能,因为当用户进入特定页面时,只有该页面所需组件…

    Vue 2023年5月28日
    00
  • 利用Vue3实现一个可以用js调用的组件

    实现一个可通过 JS 调用的 Vue3 组件,需要以下几个步骤: 定义组件: defineComponent 注册组件: createApp().component 渲染组件: createApp().mount 下面是两个示例来说明如何实现。 示例一: 本示例将展示如何通过 JS 调用一个带有参数的组件。 1. 定义组件 import { defineCo…

    Vue 2023年5月27日
    00
  • vue数据初始化initState的实例详解

    Vue数据初始化initState的实例详解 什么是initState 在Vue实例化过程中,initState是一个非常重要的方法。它负责初始化Vue实例的各种属性、数据和方法等,是Vue实例化的关键过程之一。 initState源码解析 Vue实例化过程的源码分析比较复杂,这里只讲述其中涉及到initState的部分。 function initStat…

    Vue 2023年5月28日
    00
  • 分享Vue组件传值的几种常用方式(二)

    请听我详细讲解“分享Vue组件传值的几种常用方式(二)”的完整攻略。 一、前言 在Vue组件传值的开发过程中,我们通常会遇到如下问题:如何在不同的组件之间传递数据?如何在父子组件之间通信?如何在没有父子关系的组件之间传递数据?这些问题都可以通过不同的方式来解决。在上一篇文章中,我们分享了“prop与$emit”这种传值方式。而今天,我们来分享“provide…

    Vue 2023年5月27日
    00
  • 使用PDF.js渲染canvas实现预览pdf的效果示例

    PDF.js是一个由Mozilla开发的用于在浏览器中呈现PDF文件的JavaScript库。使用PDF.js可以实现在网页上直接预览PDF文件,而不需要使用插件或者其他额外的软件。下面是使用PDF.js渲染canvas实现预览pdf的效果示例的完整攻略: 步骤一:引入PDF.js 首先,在HTML文件中引入PDF.js文件。可以使用CDN来加速文件的加载,…

    Vue 2023年5月28日
    00
  • Vue 应用中结合vux使用微信 jssdk的方法

    下面给出Vue应用中结合vux使用微信jssdk的方法的完整攻略。 一、引入Vux 在Vue应用中使用Vux,需要先进行安装引入。 npm install vux –save 然后在Vue项目的入口文件(一般是main.js文件)中按照如下代码引用Vux: import Vue from ‘vue’ import App from ‘./App.vue’ …

    Vue 2023年5月27日
    00
  • Vue新手指南之环境搭建及入门

    Vue新手指南之环境搭建及入门 本篇文章将为大家提供Vue环境搭建和入门的详细步骤和示例。 环境搭建 安装Node.js Node.js是一款基于Chrome V8引擎的JavaScript运行环境,需要先安装这个环境才能使用Vue。Windows和MacOS用户可以在Node.js官网下载对应的安装包,然后按照默认设置一路安装即可。Linux用户可以使用包…

    Vue 2023年5月27日
    00
  • 解决vue打包报错Unexpected token: punc的问题

    针对”Unexpected token: punc”的问题,我们可以采取以下几个步骤来解决: 步骤一:检查代码语法 在报错中”Unexpected token” 意味着代码中有一些语法错误,如缺少分号、括号、引号、大括号等等。因此,我们需要先检查代码语法是否正确。 可以采用下面这个命令来检测代码语法: npm run lint 当然,如果项目中没有安装esl…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部