内容:
setup是Vue3中新增的巨剑配置项,作为组合API的入口函数。
执行时机:实例创建前调用,升值遭遇Vue2中的 beforeCreate 。
注意点:由于执行setup的时候是咧还没有created,所以在setup中是不能直接使用的data和methods中的数据的,所以Vue3干脆把setup中的this绑定了undefined,防止乱用!
虽然Vue2中的data和methods配置虽然在Vue3中也能使用,但不建议了,建议数据和方法都卸载setup函数中,并通过return惊醒返回可在模板中直接使用(一般情况下setup不能为异步函数)。
<template>
<h1 @click="say()">{{ msg }}</h1>
</template>
<script>
export default {
setup() {
const msg = 'Hello Vue3'
const say = () => {
console.log(msg)
}
return { msg, say }
}
}
</script>
setup 也可以返回一个渲染函数(问:setup 中 return 的一定只能是一个对象吗?)
<script>
import { h } from 'vue'
export default {
name: 'App',
setup() {
return () => h('h2', 'Hello Vue3')
}
}
new Vue({render: h => h(App)})
</script>
Vue3新特性:setup函数详解

Vue3引入了setup配置项,作为组合API的入口,在实例创建前调用。setup中无法直接使用data和methods,推荐在setup内定义并返回数据和方法。示例展示了如何在模板中使用setup返回的msg和say方法。此外,setup还可以返回一个渲染函数,展示了一个返回h('h2','HelloVue3')的例子。
3248

被折叠的 条评论
为什么被折叠?



