从命名上我想你应该猜到了$setup对象和上面的setup函数的return对象有关,其实这里的$setup["Child"]就是setup函数的return对象中的Child组件。至于在render函数中是怎么拿到setup函数返回的对象可以看我的另外一篇文章:Vue 3 的 setup语法糖到底是什么东西? 接下来我将通过debug的方式带你了解编译时是如何将Child塞到...
从上面的代码可以看到,编译后setup语法糖已经没有了,取而代之的是一个setup函数。在setup函数中会return一个对象,对象中就包含了Child子组件。 有一点需要注意的是,我们原本是在setup语法糖中import导入的Child子组件,但是经过编译后import导入的代码已经被提升到setup函数外面去了。 在render函数中使用$setup["Child"...
比较繁琐,实际上Vue提供了setup语法糖,可以简化这些操作。 1 不再需要export default 与 return 不使用语法糖写法 <template>app-{{msg}}</template>import{ref}from'vue'exportdefault{setup(){constmsg=ref('hello')consthandelClick=()=>{console.log(msg.value)}return{msg,handelClick}}} 1. 2. 3. 4...
vue3:setup语法糖 1.setup语法糖简介 直接在script标签中添加setup属性就可以直接使用setup语法糖了。 使用setup语法糖后,不用写setup函数;组件只需要引入不需要注册;属性和方法也不需要再返回,可以直接在template模板中使用。 <template><my-component@click="func":numb="numb"></my-component></template>import{...
setup 确实是 setup 函数的语法糖,这个没有问题,也算是社区衍生出来的优化结果。不过,setup 不单单是 setup 函数的照搬,里面有一点点的区别,也算是理念的区别,下面简要分析一下。源码 「链接」创建两个 Vue 的 Components,挂载到 App.vue 上:App.vue import { ref, watch } from 'vue'import Setup ...
有一点需要注意的是,我们原本是在setup语法糖中import导入的Child子组件,但是经过编译后import导入的代码已经被提升到setup函数外面去了。 在render函数中使用setup["Child"]就可以拿到Child子组件,并且通过createBlock(setup对象和上面的setup函数的return对象有关,其实这里的setup["Child"]就是setup函数的return对象中的...
直到我发现了如下的script-setup写法,让我觉得这才应该是真正的 vue3 如何定义组件名 => name script-setup 无法指定当前组件的名字,所以使用的时候以文件名为主 如何导入组件 => components 在script-setup 中导入任意的组件就可以直接在 template 中使用 ...
我们每天写vue3项目的时候都会使用setup语法糖,但是你有没有思考过下面几个问题。setup语法糖经过编译后是什么样子的?为什么在setup顶层定义的变量可以在template中可以直接使用?为什么import一个组件后就可以直接使用,无需使用components选项来显式注册组件?
1.setup语法糖简介 直接在script标签中添加setup属性就可以直接使用setup语法糖了。使用setup语法糖后,不用写setup函数;组件只需要引入不需要注册;...
1、setup语法糖简介 直接在script标签中添加setup属性就可以直接使用setup语法糖了。 使用setup语法糖后: 不用写setup函数 组件只需要引入不需要注册 属性和方法也不需要再返回,可以直接在template模板中使用。 <template> <my-component @click="func" :numb="numb"></my-component> ...