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

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

  •  
  •   tlerbao Jun 24, 2023 2098 views
    This topic created in 1076 days ago, the information mentioned may be changed or developed.

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

    <script lang="ts" setup> // 比如先 const ref reactive // 再 const handleCreate = () => {} // 再生命中期 // 再 emit // ... </script> <template> <div></div> </template> <style> </style> 
    9 replies    2023-06-26 08:28:17 +08:00
    rimworld
        1
    rimworld  
       Jun 24, 2023 via iPhone
    没有遵循某种顺序。 只遵循相关功能的、相关事件的代码放一块。
    murmur
        2
    murmur  
       Jun 24, 2023
    这个顺序感觉并不好,因为 template 才是组件的骨肉部分,先看 template 就知道你大体结构和你想干啥,但是 script 看不出来
    Jaufey
        3
    Jaufey  
       Jun 24, 2023 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  
       Jun 24, 2023
    我自己是这样:
    先 import
    然后 interface
    然后 所有 const:ref 、computed 、function
    然后是所有监听和生命周期啥
    最后是一些执行的语句
    tlerbao
        5
    tlerbao  
    OP
       Jun 24, 2023
    还有没有不同意见
    terminals
        6
    terminals  
       Jun 25, 2023   1
    一般都是先写界面再写功能的,所以我都是把 template 放最前面,script 放中间
    AuYuHui
        7
    AuYuHui  
       Jun 25, 2023
    安装 个 antfu 的 eslint 配置, 按照大佬的书写配置
    dengshen
        8
    dengshen  
       Jun 25, 2023 via iPhone
    @terminals +1 保留 vue2 风格了
    About     Help     Advertise     Blog     API     FAQ     Solana     905 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 43ms UTC 21:08 PVG 05:08 LAX 14:08 JFK 17:08
    Do have faith in what you're doing.
    ubaomsnsnddmindexpchomeyahoorakutenmypapermeadowduckbidyahooyoubaozxmzxmasdabnvcgcvbfgdfscvmmhjkxxddcyybgbzznbnccubaouaituacvGXCVETGDGYHFGBCVBFJFHCBRECBCGDGET54WRWRRWERWREWWRWERRWERSDGEWSFDSFSFfbbsubaofhddfgewrdgdfewwrewwretruyutututdfgfgdgdfgtetgdfgtdfgdert4gdfggwr235wer3wevsdfsdfgdfertxcvsdfrwerhfddfgcvbrwfafbdfhjghbmnlghrtygfdscxvxcvxcsvdasfdffgdcvsdftertsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfshasha9178shasha9178shasha9178shasha9178shasha9178liflif2liflif2liflif2liflif2liflif2liblib3liblib3liblib3liblib3liblib3zhazha444zhazha444zhazha444zhazha444zhazha444dende5dendedendendenden2denden21fenfen9fenf619fen619fenfe9fe619sdfsdfsdfsdfsdfzhazh90zhazh0zhaa50zha90zh590zhozhozzhozhzhozhozhozho2lislislls95lili95lils5liss9sdf0ty987sdft876sdft9876sdf09876sd0t9876sdf0ty98sdf0976sdf0ty986sdf0ty96sdf0t76sdf0876df0ty98sf0t876sd0ty76sdy76sdf76sdf0t76sdf0ty9sdf0ty98sdf0ty987sdf0ty98sdf6676sdf876sd876sd876sdf6sdf6sdf9876sdf0tsdf06sdf0ty9776sdf0ty9776sdf0ty76sdf8876sdf0tsd6sdf06s688876sd688sdf86
    tlerbao
        9
    tlerbao  
    OP
       Jun 26, 2023
    @terminals 我是说 script 里面的顺序