VUE3中的函数的声明和使用

 更新时间:2023年10月24日 14:46:01   作者:前端不加班  
这篇文章主要介绍了VUE3中的函数的声明和使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

VUE3函数的声明和使用

在了解了响应式数据如何使用之后,接下来就要开始了解函数了。

在Vue2中函数

通常是作为当前组件实例上的方法在 methods 里声明,然后再在 mounted 等生命周期里调用,或者是在模板里通过 Click 等行为触发

由于组件内部经常需要使用 this 获取组件实例,因此不能使用箭头函数。

export default {
  data: () => {
    return {
      num: 0,
    }
  },
  mounted: function () {
    this.add()
  },
  methods: {
    // 不可以使用 `add: () => this.num++`
    add: function () {
      this.num++
    },
  },
}

在Vue3则灵活了很多

可以使用普通函数、 Class 类、箭头函数、匿名函数等等进行声明,可以将其写在 setup 里直接使用,也可以抽离在独立的 .js / .ts 文件里再导入使用。

需要在组件创建时自动执行的函数,其执行时机需要遵循 Vue 3 的生命周期,需要在模板里通过 @click、@change 等行为触发,和变量一样,需要把函数名在 setup 里进行 return 出去。

下面是一个简单的例子

方便开发者更直观地了解:

<template>
  <p>{{ msg }}</p>

  <!-- 在这里点击执行 `return` 出来的方法 -->
  <button @click="updateMsg">修改MSG</button>
</template>


<script lang="ts">
import { defineComponent, onMounted, ref } from 'vue'

export default defineComponent({
  setup() {
    const msg = ref<string>('Hello World!')

    // 这个要暴露给模板使用,必须 `return` 才可以使用
    function updateMsg() {
      msg.value = 'Hi World!'
    }

    // 这个要在页面载入时执行,无需 `return` 出去
    const init = () => {
      console.log('init')
    }

    onMounted(() => {
      init()
    })

    return {
      msg,
      changeMsg,
    }
  },
})
</script>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue 之孙组件向爷组件通信的实现

    Vue 之孙组件向爷组件通信的实现

    这篇文章主要介绍了Vue 之孙组件向爷组件通信的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Vue Element前端应用开发之常规的JS处理函数

    Vue Element前端应用开发之常规的JS处理函数

    在我们使用Vue Element处理界面的时候,往往碰到需要利用JS集合处理的各种方法,如Filter、Map、reduce等方法,也可以涉及到一些对象属性赋值等常规的处理或者递归的处理方法,本篇随笔列出一些在VUE+Element 前端开发中经常碰到的JS处理场景,供参考学习。
    2021-05-05
  • vue组件开发之用户无限添加自定义填写表单的方法

    vue组件开发之用户无限添加自定义填写表单的方法

    今天小编就为大家分享一篇vue组件开发之用户无限添加自定义填写表单的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • 解决vue eslint开发严格模式警告错误的问题

    解决vue eslint开发严格模式警告错误的问题

    这篇文章主要介绍了解决vue eslint开发严格模式警告错误的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • Vue2.x父组件影响子组件样式的方法

    Vue2.x父组件影响子组件样式的方法

    在Vue.js开发中,我们经常需要创建可复用的组件,这些组件可能会有自己的样式规则,而有时我们希望父组件能够影响子组件的样式,本文将详细介绍如何使用v-deep以及一些相关的最佳实践,需要的朋友可以参考下
    2024-10-10
  • Vue项目页面跳转时浏览器窗口上方显示进度条功能

    Vue项目页面跳转时浏览器窗口上方显示进度条功能

    这篇文章主要介绍了Vue项目页面跳转时浏览器窗口上方显示进度条功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Vue学习笔记之表单输入控件绑定

    Vue学习笔记之表单输入控件绑定

    本篇文章主要介绍了Vue学习笔记之表单输入绑定,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • vue实现文件上传功能

    vue实现文件上传功能

    这篇文章主要为大家详细介绍了vue实现文件上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Vue动态修改页面Title(浏览器页签名称)的三种方法

    Vue动态修改页面Title(浏览器页签名称)的三种方法

    在开发 Vue 项目时,我们经常需要根据不同的页面动态修改浏览器的页签标题(title),那么,如何在 Vue 项目中实现动态修改 document.title 呢?本文将介绍三种实用方法,并结合代码示例,助你轻松实现,需要的朋友可以参考下
    2025-03-03
  • 解决vue点击控制单个样式的问题

    解决vue点击控制单个样式的问题

    今天小编就为大家分享一篇解决vue点击控制单个样式的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09

最新评论