新手学习 Vue3,遇到一些问题

2024-03-11 08:52:26 +08:00
 buynonsense

问大佬们一个问题,为什么 Composition API+HTML 中的 function 需要显式 return ,而Composition API+单文件组件 中的 function 不需要显式 return 而是自动返回呢? (like this ,但是另一个没有 return)

我这个疑问来自于 vue 官网教程文档 https://cn.vuejs.org/tutorial/#step-8

3320 次点击
所在节点    Vue.js
23 条回复
crocoBaby
2024-03-11 08:53:59 +08:00
没有 setup
naminokoe
2024-03-11 08:56:08 +08:00
新手学习 vue3 请学习 setup 的语法
buynonsense
2024-03-11 08:57:31 +08:00
@crocoBaby html 式的是在 createAPP 写了一个 setup(){} sfc 式的写在<script setup>,这两种有什么区别吗?
songray
2024-03-11 08:57:56 +08:00
SPA(单文件组件)经过了 Vue 脚手架的编译过程, 不是没有 return, 而是编译后他自动帮你 return 了.
SPA 编译后的样子可以看我这篇博客的第三段代码:
https://ray-d-song.com/post/vue-compiler-macro-defineprops
kumoocat
2024-03-11 08:58:06 +08:00
https://cn.vuejs.org/guide/essentials/reactivity-fundamentals.html#script-setup
文档里有说:
单文件组件 <script setup> 中的顶层的导入、声明的变量和函数可在同一组件的模板中直接使用。你可以理解为模板是在同一作用域内声明的一个 JavaScript 函数——它自然可以访问与它一起声明的所有内容。
songray
2024-03-11 08:58:23 +08:00
@songray 抱歉打错了, sfc
CHTuring
2024-03-11 08:58:49 +08:00
因为 .vue 单文件里面声明 setup ,这个语法标记的作用仅仅就是帮你少写一点代码,在编译器里面会自动返回。
crocoBaby
2024-03-11 09:00:10 +08:00
@buynonsense 框架内置 return
buynonsense
2024-03-11 09:06:46 +08:00
@songray #4 谢谢!我询问 gpt ,好像就是.vue 环境的特性,

而 HTML 模式下是在普通 js 环境。
buynonsense
2024-03-11 09:07:22 +08:00
@naminokoe 好的,我再多看看
tog
2024-03-11 09:18:34 +08:00
其实我个人觉得如果是新手的话,上来就用 setup 应该感觉会很懵逼的。
曾经有句话,写 vue 是写 vue, 写 react 是写 js.
个人推荐,vue2 简单模块撸一遍, 然后 vue3 setup 写一套(不是 script 内敛), 然后内敛 setup 学一遍。 这样就知道为什么内敛 setup 简单。 不然会很懵。
buynonsense
2024-03-11 09:23:43 +08:00
@tog 哈哈,也没有特别懵逼。我看网上的课/教学,都在教"内敛 setup",而我学校的老师在教 vue2 ,我就在想 vue2 因为去年停止了维护,是否应该直接学习 vue3 ?因为对于初学者来说反正都不懂不如直接学新的
MRG0
2024-03-11 09:24:10 +08:00
```
<script>
............
</script srtup>
```
MRG0
2024-03-11 09:25:02 +08:00
@MRG0 #13
<script setup>
............
</script >
43n5Z6GyW39943pj
2024-03-11 09:26:36 +08:00
看上去,你的教程有点落后
bu9
2024-03-11 09:29:43 +08:00
小老弟 给你个简单的建议,用不同方式写几个最简单 demo 。 看下 build 后的 js 大概就清楚了。
buynonsense
2024-03-11 09:43:14 +08:00
@kumoocat 感谢
gitlight
2024-03-11 10:04:53 +08:00
vue3 的 setup 语法糖,自动返回了所有 function ,没记错的话还会自动注册组件
yosoroAida
2024-03-11 10:15:24 +08:00
@tog
我干全栈( vue3 新手),反而能接受 setup 的语法,接受不了不用 setup 的语法。
tog
2024-03-11 10:19:36 +08:00
@buynonsense 可以的 直接 vue3 吧。没毛病。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1022390

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX