被 vue 搞的真的有点心烦,虽然是个小菜鸡但是我想知道到底为什么 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
placeholder
V2EX    Vue.js

被 vue 搞的真的有点心烦,虽然是个小菜鸡但是我想知道到底为什么

  •  
  •   placeholder 2022-01-20 21:45:01 +08:00 5212 次点击
    这是一个创建于 1410 天前的主题,其中的信息可能已经有所发展或是发生改变。

    7czmkT.png 7czntU.png

    我真搞不懂了,可能是 vue3 的指南文档里没写出来吧,刚学 vue 真的搞不太懂,为什么这里死活找不到 todos

    26 条回复    2022-01-22 10:27:12 +08:00
    Cbdy
        1
    Cbdy  
       2022-01-20 22:10:25 +08:00
    可以先学一下 Vue2
    zcf0508
        2
    zcf0508  
       2022-01-20 22:21:36 +08:00
    main.js

    https://dubai-1254282834.cos.ap-nanjing.myqcloud.com/main.js.png

    Todos.vue

    https://dubai-1254282834.cos.ap-nanjing.myqcloud.com/Todos.vue.png


    ---

    在 main.js 或者 main.ts 里挂载一次就可以了,mount 挂载会覆盖里面的内容。
    setup 块里面直接声明你的 todo 数组就可以了。

    可以先看下 vue-cli 或者 vite 的最小示范工程。
    liyang5945
        3
    liyang5945  
       2022-01-20 22:29:04 +08:00
    mx8Y3o5w3M70LC4y
        4
    mx8Y3o5w3M70LC4y  
       2022-01-20 22:31:37 +08:00 via Android
    用 react+ts 吧,react yyds
    micean
        5
    micean  
       2022-01-20 23:30:44 +08:00 via Android
    既然是 setup 写法,直接
    const todos = ref<{text:string}>([])
    xiaozhinini
        6
    xiaozhinini  
       2022-01-21 01:09:26 +08:00
    我后端开发,本来结合 jquery 做私活本来风生水起的,现在做 vue 我直接放弃前端了,太难受了
    gouflv
        7
    gouflv  
       2022-01-21 01:26:46 +08:00 via iPhone
    vue3 不适合新手
    iseki
        8
    iseki  
       2022-01-21 01:27:59 +08:00
    react 好耶,快来看 react
    jqtmviyu
        9
    jqtmviyu  
       2022-01-21 01:59:55 +08:00
    如果是 cdn , 像官网这样
    ![]( https://i.bmp.ovh/imgs/2022/01/e9f5d738b8403d9b.png)
    如果是单文件开发, 建议还是按照官网用 vite 生成项目
    然后看下项目`index.html`和`main.ts`, 估计就是`setup`的问题, 去掉试试(没配好 ts 的话把 ts 也去了), 要先挂好 vue, 才能使用 `setup`生命周期, 而不是在 setup 生命周期里挂 vue
    placeholder
        10
    placeholder  
    OP
       2022-01-21 08:54:27 +08:00
    @zcf0508 好的,感谢
    placeholder
        11
    placeholder  
    OP
       2022-01-21 08:56:24 +08:00
    @liyang5945 好的,感谢
    placeholder
        12
    placeholder  
    OP
       2022-01-21 08:57:14 +08:00
    感谢各位的回复,我再去试试
    sujin190
        13
    sujin190  
       2022-01-21 09:22:28 +08:00
    组件模板作用域和 App 作用域不一样,你看 App mount 到了你写的 html 节点上,所以这个 html 是 App 作用域的,todos 却是属于 ListRendering 作用域的当然访问不到了,你要写组件模板才可以访问到的
    mozhizhu
        14
    mozhizhu  
       2022-01-21 09:47:10 +08:00
    setup 本身已经在 vue 实例中了,再去 createApp 没报错?……第一次 createApp 了吗? vite 构建的 demo 也不会酱
    byte10
        15
    byte10  
       2022-01-21 10:11:09 +08:00
    @xiaozhinini vue 好用啊,非常的简单,少年,你应该学习 vue ,思维要转换一下哈。
    vone
        16
    vone  
       2022-01-21 10:34:15 +08:00
    @byte10 jquery 天下第一
    boringdays2015
        17
    boringdays2015  
       2022-01-21 11:40:17 +08:00
    @vone 等你看到同事无脑复制粘贴代码,dom 交互性能重复又低下,代码充斥着不知道哪里来哪里去的奇奇怪怪变量,辛辛苦苦死也做不出来隔壁 ng react vue 三两行代码实现的功能,你也会一起骂的
    byte10
        18
    byte10  
       2022-01-21 11:45:27 +08:00
    @boringdays2015 是的 vue 用起来,神器。mvvm 的设计,简直减少 80%的工作量。
    @vone 我都用过的,少年,你要动起来,不要那么的固执,我用 vue 实现一个表单的联动,非常的简单。但是用 JQ 就很复杂。完全不是一个 可以比较的东西,JQ 是工具库,vue 是架构性的东西。你的思维要转换一下,不然以后你的路走不平的。
    guyskk0x0
        19
    guyskk0x0  
       2022-01-21 12:30:10 +08:00 via Android
    把 script 标签里的 setup 去掉应该就正常了。你的代码是 options 写法,setup 是 composite 写法。
    zyzsdy
        20
    zyzsdy  
       2022-01-21 13:41:55 +08:00
    vue 还是太灵活了。建议 vue 用户自己禁用除了入口挂载以外的其他内部挂载,也就是整个 vue 工程中只挂载一次。这会少很多问题。
    ptrees
        21
    ptrees  
       2022-01-21 14:05:28 +08:00
    是不是需要加一个:
    :key=todo.id
    zachlhb
        22
    zachlhb  
       2022-01-21 14:35:24 +08:00
    @gouflv 我觉得 vue3 比 vue2 简单多了,直接 script setup ,然后里面直接写逻辑,不用像 vue2 不同的代码得分别放到不同的 option 里面
    vone
        23
    vone  
       2022-01-21 15:10:34 +08:00
    @boringdays2015
    @byte10

    说的好,但是我还是选择 jquery 。
    SmiteChow
        24
    SmiteChow  
       2022-01-21 15:33:22 +08:00
    直接问尤雨溪,相信他会告诉你的
    gouflv
        25
    gouflv  
       2022-01-21 22:14:55 +08:00 via iPhone
    @zachlhb 并不否认 setup script 更简洁,但前提是了解 vue2 的 object style ,否则编译器、运行时加了太多 magic ,出错了会无从下手
    zachlhb
        26
    zachlhb  
       2022-01-22 10:27:12 +08:00 via iPhone
    @gouflv 我觉得这个不是 vue 的问题,是语言本身,js 属于脚本语言,在报错上看到不如编译性语言清晰明了,就像我用 python ,报错同样存在这个问题
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     839 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 22:27 PVG 06:27 LAX 14:27 JFK 17:27
    Do have faith in what you're doing.
    ubao msn 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