• ll
    置顶
    2021-11-08
    非常棒的一节,在学习内容的过程中,我也在回顾之前学习关于 Vuex 的知识,在写miniVuex 的实现的代码后,对组件化有了新的认识,简单说下体会。 “组件化” 是解决“复杂”问题的重要思想。其实现就是一个个“组件”,即使表现方式不同,核心还是 MVX 的模型。 这样理解,组件内的 state 就是 model,渲染出来的“图形”就是 view,而这个 X 是这 model 与 view 的“沟通方式”,它可以是 control,也可以是 view model,大概就这个意思。这里要注意,model 和 view 不应该直接沟通。 我们现在的工作就是在“搭积木”,怎么搭很重要,但是了解手中的“积木”也同样重要。 Vue2 提供的积木有 MVX(一般组件),VX(函数式组件),MX(vuex);而 Vue3 通过 CompositionAPI 提供了 M,一个只有 M 的“组件”,也是Vue3灵活原因之一。 到这,我发现,其实 Vuex 也是组件,没有 View 的组件,有 Model(state),有 X(mutation,action),它的逻辑和其他组件一样,想要变更“状态”,必须通过X。就这样“管家”诞生了。 可是具体这个是怎么实现的? 大概说下几个API:install,provide,use 等,大圣讲的很清楚,回头多看几遍,最主要的是多写写。
    展开

    作者回复: 精品回复!!赞赞赞

    
    33
  • 一个小🍎
    2021-11-08
    我Vuex4都还没学完,Pinia就出来了,学不完了。 (话说想请教大圣老师,在前端技术发展如此之快的情况下,我们应该如何做取舍呢?)

    作者回复: 只学成熟的技术就可以了,不需要过于追热点,Pinia和Vuex也是有很多概念和理念是一脉相承的

    
    21
  • 乐叶
    2021-11-08
    constructor(options) { this._state = reactive({ // data: options.state data: options.state() }) this.mutations = options.mutations } get state() { return this._state.data } options.state这样写使用调试发现获取到的是函数 options.state()写成这样才可以正常运行

    作者回复: 是的是的,第一部分实战代码在这里呀,欢迎遇见bug了提pr呀 https://github.com/shengxinjing/geektime-vue-course

    共 5 条评论
    16
  • Geek_4578dc
    2021-11-08
    建议大圣老师把每节的代码放出来,这样有利于阅读

    作者回复: 第一部分实战代码在这里呀,欢迎遇见bug了提pr呀 https://github.com/shengxinjing/geektime-vue-course

    
    7
  • 也許有一天
    2021-12-05
    我们公司导入rxjs来取代vuex,不得不说rxjs是真的猛...

    作者回复: rx确实是数据管理的王牌框架,上手成本也是有一些

    
    4
  • 深蓝
    2021-11-20
    状态管理感觉是前端代码的核心,其他所有组件,监听数据流的变化,或改变数据,然后与这个数据流相关的页面组件作出响应变化,动态菜单,导航栏,以及主页面的组件就随之改变了,整个Web服务就动起来了,最近几天vuex 看的有点晕,有个地方有点疑惑 1 vue < script> computed </script> 2 vuex 也有 getters 两者都是计算属性,这里绕来绕去,还是理不清这里怎么使用最好?

    作者回复: getters是vuex内部的computed,或者你也可以一把梭全部都用computed,如果vuex中有的计算结果需要多次复用,就从computed移到getter中

    
    4
  • 醉月
    2021-11-08
    大圣老师Pinia会有涉及吗

    作者回复: 最后会有涉及的,毕竟是未来的vuex

    
    4
  • uncle 邦
    2021-11-08
    count 不是使用 ref 直接定义,而是使用计算属性返回了 state.state.count,也就是刚才在 src/store/index.js 中定义的 count。这个 " state.state.count" 是不是要改成 “store.state.count”

    作者回复: 感谢提示这个错别字,已经提交给编辑 第一部分实战代码在这里呀,欢迎遇见bug了提pr呀 https://github.com/shengxinjing/geektime-vue-course

    
    3
  • xiaxiaxiaxia
    2021-12-22
    为什么在代码示例里总是省略那么多你觉得我们都会懂的代码呢。。。。对新手一点也不友好。。。

    作者回复: 你好,非常抱歉对你造成困扰,是哪一部分你觉得不太友好呢?我后面可以加上一些

    
    2
  • 深蓝
    2021-11-26
    在看GitHub 其他开源项目代码,使用vuex 创建好store 引用的时候经常看到$store 一直不太理解这的$的含义?

    作者回复: $就是为了区分出这是插件定义的内容,算是一个约定俗成的最佳实践 name是普通变量 _name是内部变量 $name是第三方插件 or 我们自己注册的公用数据

    
    2