目前 Vue3 有没有什么比较标准的书写顺序 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tlerbao
V2EX    问与答

目前 Vue3 有没有什么比较标准的书写顺序

  •  
  •   tlerbao 2023-06-24 16:28:45 +08:00 1725 次点击
    这是一个创建于 838 天前的主题,其中的信息可能已经有所发展或是发生改变。

    强迫症,大家有没有遵循某种 Vue3 Setup 的书写顺序

    <script lang="ts" setup> // 比如先 const ref reactive // 再 const handleCreate = () => {} // 再生命中期 // 再 emit // ... </script> <template> <div></div> </template> <style> </style> 
    9 条回复    2023-06-26 08:28:17 +08:00
    rimworld
        1
    rimworld  
       2023-06-24 16:30:41 +08:00 via iPhone
    没有遵循某种顺序。 只遵循相关功能的、相关事件的代码放一块。
    murmur
        2
    murmur  
       2023-06-24 17:36:52 +08:00
    这个顺序感觉并不好,因为 template 才是组件的骨肉部分,先看 template 就知道你大体结构和你想干啥,但是 script 看不出来
    WhateverYouLike
        3
    WhateverYouLike  
       2023-06-24 17:58:27 +08:00 via Android   1
    我的一点感想是:每个 SFC setup 的最外层最终只需要一个 hook 就可以了,该 hook 调用后只暴露出模板所需的变量,其余所有的子状态和方法都封装在子 hook 中,同时注意把多个子 hook 都用到的状态提升一下。宗旨就是功能拆分合理,最大限度地限制状态的作用域。二楼说看 script 看不出来逻辑,但这样做以后,script 跟 template 的照应程度能提升一个档次,阅读 script 时也能一目了然功能有哪些。

    至于小 hook 里的书写顺序:等拆成一个个小 hook 之后,每个小 hook 里东西不会很多,顺序就自己规定一下。我一般是 import ,props ,emit ,ref ,usehook ,lifecycle ,method ,不会严格遵循。
    Cosmic4764
        4
    Cosmic4764  
       2023-06-24 18:21:18 +08:00
    我自己是这样:
    先 import
    然后 interface
    然后 所有 const:ref 、computed 、function
    然后是所有监听和生命周期啥
    最后是一些执行的语句
    tlerbao
        5
    tlerbao  
    OP
       2023-06-24 18:51:33 +08:00
    还有没有不同意见
    terminals
        6
    terminals  
       2023-06-25 09:57:04 +08:00   1
    一般都是先写界面再写功能的,所以我都是把 template 放最前面,script 放中间
    AuYuHui
        7
    AuYuHui  
       2023-06-25 11:31:42 +08:00
    安装 个 antfu 的 eslint 配置, 按照大佬的书写配置
    dengshen
        8
    dengshen  
       2023-06-25 18:15:31 +08:00 via iPhone
    @terminals +1 保留 vue2 风格了
    tlerbao
        9
    tlerbao  
    OP
       2023-06-26 08:28:17 +08:00
    @terminals 我是说 script 里面的顺序
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2790 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 13:13 PVG 21:13 LAX 06:13 JFK 09:13
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86