Vue的SetUp函数

在Vue 3中,引入了一个名为 setup 的新函数,它是使用组合式API时的一个主要功能。setup 函数是组件的入口点,它在组件创建之前执行,允许你定义组件的响应式状态、计算属性、侦听器和其他函数。这标志着Vue对于更具函数风格编程的支持,旨在促进更大程度的代码复用和更清晰的逻辑分离。

setup函数的基本使用:

setup 函数的特点是:

  1. 它执行的时机在组件的 beforeCreatecreated 生命周期钩子之前。

  2. 接收两个参数:

    • props:父组件传递的属性,是一个响应式的代理(reactive proxy)。

    • context
      

      :一个普通的JavaScript对象,包含以下属性:

      • attrs:包含未注册的props属性,它们也是响应式的。
      • slots:父组件传递的插槽。
      • emit:用于触发事件的方法。
  3. 应该返回一个对象。该对象的属性和方法将被暴露给组件的其他部分(例如模板或其他选项API),或者返回一个渲染函数。

示例代码:

<template>
  <div>
    <p>{{ message }}</p>
    <button @click="changeMessage">Change Message</button>
  </div>
</template>

<script>
import { ref } from 'vue';

export default {
  setup(props, { emit }) {
    const message = ref("Hello Vue 3!");

    function changeMessage() {
      message.value = "Message changed.";
    }

    return {
      message,
      changeMessage
    };
  }
}
</script>

在上述示例中:

  • 定义了一个响应性的数据 message 使用 ref,这使得在模板中可以响应该数据的变化。
  • 定义了一个方法 changeMessage,用于改变message的值。
  • setup 函数返回一个对象,包含 messagechangeMessage,这些属性和方法在模板中被使用。

注意事项:

  • setup中无法访问到组件的this上下文,因为setup调用时,组件实例尚未创建。
  • 所有Composition API函数(如ref, computed等)都应该在setup内部使用。

通过使用 setup 函数,Vue 3的组合式API提供了一种更灵活和模块化的方式来组织代码,同时也保留了对旧有选项API的支持。这使得开发者可以根据具体情况选择最适合的方式编写组件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值