V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
anonymous2351d00
V2EX  ›  问与答

问: angular 切 vue 的一些选型问题

  •  
  •   anonymous2351d00 · 80 天前 · 842 次点击
    这是一个创建于 80 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前提

      1. 组件库 ant design 可以 使用 vant 替换
      1. rxjs Http 可以使用 axios 替换
      1. angular 自带的打包 可以使用 vite 替换

      1. 状态管理用什么?
      1. angular 自己写的 cli 脚手架 vue 如何实现?
    12 条回复    2023-01-11 15:23:15 +08:00
    anonymous2351d00
        1
    anonymous2351d00  
    OP
       80 天前
    状态管理想用 一个 轻量 又 好用,简单一点的
    anonymous2351d00
        2
    anonymous2351d00  
    OP
       80 天前
    cli 就是 拉下包来 node 环境去运行然后通过模板和一些选项自动生成项目的那个东西
    heishu
        3
    heishu  
       80 天前
    打包的话 vite 和 webpack 都可以;
    1. 状态管理,vue2 用 vuex ,vue3 用 pinia
    2. cli 没自己实现过,但是是可以实现的;不过现在生成 vue 项目时的哪些选项还不能满足你吗?
    christin
        4
    christin  
       80 天前 via iPhone
    vue 的状态管理没几个 想选也没有
    anonymous2351d00
        5
    anonymous2351d00  
    OP
       80 天前
    @heishu 嗯,需要以 npm 包的形式定制一下菜单,路由守卫,等一些常用的服务:用户啊,token 啊,权限啊,之类的,需要集中管理,创建项目直接可用,后续我这里更新了 npm 包他们升级一下就好的那种


    @christin 好的大佬,我去搜一搜
    gouflv
        6
    gouflv  
       80 天前 via iPhone   ❤️ 1
    vue3 的话,composition api 配合 provide 就能解决大部分数据管理和共享
    sjhhjx0122
        7
    sjhhjx0122  
       80 天前   ❤️ 1
    状态管理的话,让 ref 声明在 vue 外就是简单的状态管理了,不喜欢的话可以跟 ng 的 service 一样用 vue 的依赖注入,虽然不如 ng ,但是总归能用,ng 的脚手架就没法代替了,那么多命令只能自己实现一下?不过为什么要从 ng 转到 vue 呢
    charlie21
        8
    charlie21  
       78 天前 via iPhone   ❤️ 1
    一个由 ref 声明的变量因为它是响应式的所以它就相当于一个 observable ,它可以直接从一个 js 文件导出,这就相当于是一个与视图层解耦的服务,可以被任何一个组件消费并共享状态

    https://vuejs.org/guide/scaling-up/state-management.html#simple-state-management-with-reactivity-api
    anonymous2351d00
        9
    anonymous2351d00  
    OP
       77 天前
    @charlie21
    @sjhhjx0122

    有这两种够了,妥妥够用了,感觉好像 react dispatch action->state->view
    anonymous2351d00
        10
    anonymous2351d00  
    OP
       77 天前
    @sjhhjx0122 自动生成项目的 cli ,想着用 nodejs 搭配一个类似 freeemarker 的模板引擎,有推荐吗大佬?
    anonymous2351d00
        11
    anonymous2351d00  
    OP
       26 天前
    @heishu 感谢,pinia 好用,就是有一个问题,假设我直接 store.user.name = 'heishu' 不适用 store.setUser({name:'heishu'}) 会发生什么问题?
    heishu
        12
    heishu  
       26 天前
    @anonymous2351d00 可以看看 pinia 的简单例子使用方法,https://pinia.vuejs.org/introduction.html#basic-example
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   1303 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 23:02 · PVG 07:02 · LAX 15:02 · JFK 18:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.