请教一个 vue3 生命周期的问题

2022-06-06 10:32:19 +08:00
 Gaays

最近看了一下 vue3 ,虽说 Composition API 可以让相关功能的代码更加有序的组合在一起,不会像 vue2 一样,可能新增一块功能同时需要修改 data 、mounted 、methods ,改一个功能在代码里面跳来跳去。 在 vue3 中使用 Composition API 就不会这样,但是如果我想看这个页面初始化的时候执行了哪些方法时,也需要在代码中上下跳转?这个有什么解决办法吗?

感觉 mounted 内容统一写在一起那就违背 Composition API 的设计初衷了,拆开写对了解功能也造成了影响?

另外有优秀的 vue3 项目推荐吗? vue3 的写法太开放了,如果没有处理好可读性比 vue2 还差,想看看优秀的写法。

2688 次点击
所在节点    Vue.js
13 条回复
wxsm
2022-06-06 10:55:50 +08:00
> 但是如果我想看这个页面初始化的时候执行了哪些方法时,也需要在代码中上下跳转?

这个是一个取舍。举个例子,就像一个项目的文件夹怎么划分,是先以业务模块划分再往下划分功能类型呢,还是先划分功能类型再往下划分业务模块呢。选项式 API 和组合式 API 也做了类似的取舍。

> 感觉 mounted 内容统一写在一起那就违背 Composition API 的设计初衷了,拆开写对了解功能也造成了影响?

我觉得你想太多了。怎么舒服怎么来就行了。你觉得有些东西写在一起更方便,那就写在一起。拆开了更方便,那就拆开。设计是死的,人是活的。没有银弹。
yaphets666
2022-06-06 11:06:53 +08:00
那他给你提供这个 setup 里的 onMounted 是干嘛用的。composition api 可用可不用,想用,该用那就用,不想用,完全 vue2 写法也不是不行
renhou
2022-06-06 11:26:32 +08:00
把能写在一起的根据 composition api 原则写在一起
把需要写在 onMounted 里的写在 onMounted 里
composition api 的设计可以理解为更加有序组合,而不是绝对有序组合
bojackhorseman
2022-06-06 12:30:48 +08:00
setup 里 onMounted 可以调一万次
erhsilence
2022-06-06 14:24:47 +08:00
wu67
2022-06-06 16:54:39 +08:00
不至于吧?

目前我是直接用了 setup,
开局 import
然后 const const const let let let, 有变量有 func
可能夹杂着一两个 watch
在最后的</script>之前写一两个 init(), 这里不就是‘打开页面会执行哪些方法’吗, 直接搜这个方法名就是了
agileago
2022-06-06 17:13:46 +08:00
来试试 https://github.com/agileago/vue3-oop 让你摆脱选择困难症
96412hj
2022-06-06 18:02:12 +08:00
@agileago angular 里 angular 气
sjhhjx0122
2022-06-06 20:00:27 +08:00
agileago
2022-06-06 22:25:28 +08:00
@96412hj 哈哈,我觉得还好吧,就借鉴了一下依赖注入处理状态共享,其他和 angular 差距挺大的,基本已经做到了足够简单了
agileago
2022-06-07 10:18:15 +08:00
@sjhhjx0122 感觉好烦琐啊,对比一下我的
TomPig0216
2022-06-07 11:00:14 +08:00
推荐项目 vue-vben-admin
sjhhjx0122
2022-06-07 11:12:45 +08:00

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

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

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

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

© 2021 V2EX