vue3组合式使用attrs
Vue3中的<script setup>
语法支持使用attrs
选项来接收和处理传入组件的props。attrs
是一个特殊的对象,允许你在setup函数中直接访问所有传入到组件的任意属性,无论它们是否被声明为props。这样可以让你在不需要显式声明的情况下,动态地使用外部传递过来的数据。
例如:
<!-- 父组件 -->
<template>
<child-component :my-prop="customValue" />
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: { ChildComponent },
};
</script>
// 子组件 (ChildComponent.vue)
<script setup>
import { attrs } from 'vue';
// 在这里可以直接使用 attrs.my-prop 访问 prop "my-prop"
const customProp = attrs.myProp;
// 如果 props 的值为空或者未提供,则可以设置默认值
if (!customProp) {
console.log('Using default value');
}
</script>
vue3 组合式函数
Vue 3中引入了一种新的组织代码的方式,即组合式函数。组合式函数是一种将逻辑相关的代码组织在一起的方式,以提高代码的可读性和可维护性。它通过将相关的逻辑封装在一个函数中,并将该函数作为一个可复用的组合式函数提供给组件使用。
在Vue 3中,组合式函数使用setup
函数来定义。setup
函数是在组件实例创建之前执行的,它接收两个参数:props
和context
。props
是组件的属性,可以在setup
函数中直接使用;context
是一个包含了一些实用方法和属性的对象,例如attrs
、emit
等。
组合式函数可以使用Vue提供的一些API来实现不同的功能,例如:
reactive
:用于创建响应式数据。computed
:用于创建计算属性。watch
:用于监听数据的变化。ref
:用于创建一个包装对象,使其可以被响应式地访问。toRefs
:用于将响应式对象转换为普通对象,以便在模板中使用。
通过使用这些API,我们可以将相关的逻辑封装在一个组合式函数中,并在组件中使用。这样可以提高代码的可读性和可维护性,并且可以更好地复用逻辑。
vue3组合式api中的setup
setup
是 Vue 3 中新引入的组合式 API 的一个重要部分,它是一个函数,接收两个参数:props
和 context
。在 setup
函数中,我们可以使用 props
对象访问组件的属性,并可以使用 context
对象访问组件的上下文信息,例如访问 emit
方法、attrs
对象等。
setup
函数的返回值是一个对象,其中包含了组件的状态和行为,可以使用 reactive
、ref
、computed
等函数来创建响应式的数据。使用 setup
函数的好处是可以将组件的逻辑拆分成更小的函数,使得代码更加清晰易懂,并且可以更好地复用组件逻辑。
需要注意的是,setup
函数只在组件实例创建时执行一次,返回值将作为组件实例的状态,并且在组件的生命周期中可以使用 this
访问到 setup
返回的对象中的属性和方法。
相关推荐
















