首页
学习
活动
专区
圈层
工具
发布

vuex中a模块访问b模块的state或getters

随着项目的复杂度提高,vuex肯定也会越来越多,有些相互有依赖关系的,我们就可能会相互使用,所以就会出现中a模块的getters去访问b模块的getters或state的情况。...以我真实情况举例,我有一个system模块:getters有一个MiniSoftShareImageUrl属性,作为默认的分享图。...当我在分享帖子时,如果帖子没有设置封面则就需要使用默认的封面,下面是我post模块加载system模块的getters的使用方式:代码:share_cover(state, getters, rootState..., rootGetters) {     return rootGetters['system/MiniSoftShareImageUrl'] },如果要获取system中state的config,则代码为...:return rootState.system.config 你在编程过程中,遇到过哪些让你头疼的问题?

21600
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Unity应用架构设计(3)——构建View和ViewModel的生命周期

    这些是非常好的方法,可以让开发者在各个阶段去执行自定义的代码。但唯一遗憾的事,这些方法是有引擎调用,并且颗粒度不够细。本文将谈谈怎样构建View和ViewModel的生命周期。...,SetActive(false) Destory 当前对象时的处理方法 ViewModel的生命周期 对于View而言,它并不处理复杂的业务逻辑,View只负责显示。...所以对应的ViewModel也有生命周期,它对应了View的生命周期,ViewModel的生命周期包括: 初始化操作 View在显示前处理的逻辑 View在显示后时处理的逻辑 View在隐藏前处理的逻辑...View在隐藏后处理的逻辑 View被销毁时应该处理的逻辑 构建生命周期 有了上述的分析之后,就需要落实,如何去构建View和ViewModel的生命周期了。...小结 本文介绍了怎样为View/ViewModel构建自定义的生命周期,MonoBehaviour 虽然有自己的生命周期,但不够细腻,我们完全可以扩展自己的生命周期,实现对需求的定制。

    1.2K50

    iOS 开发中的 ViewModel

    有几种方案: UI 布局尽量用 IB 来做,把绑定逻辑放到 View 中 把绑定逻辑放到 Model 中 定义单独的 ViewModel 加工 Model,并把适合展示的数据输出给 View 以上这几种方案主要说的是数据绑定...,优点是简洁明了,没有太多弯弯绕绕的东西,基本就是把原本写在 Controller 中的代码放到了 View 中。...方案二:Model 作为 ViewModel 这种方案我在一个演讲中看到过,思路也很简单,跟方案一恰恰相反,不是把 Model 注入 View 中,而是把 View 注入 Model 中,还是以 Profile...但是越通用,往往可读性就越低,很显然nicknameLabel比topLabel要好懂得多;越通用,往往中间层就越多,模块间的关系就越不直观。...,在我这个简单的例子中表现并不比方案三中普通的 ViewModel 更好。

    1.5K81

    Unity应用架构设计(1)—— MVVM 模式的设计和实施(Part 2)

    BindableProperty是一个很好的设计,它不仅可以用在ViewModel中,还可以用在View中,用它来修饰 ViewModel,当ViewModel 改变时,比如初始化时,或者从一个ViewModel...变化到另一个ViewModel对象时,在触发的OnBindingContextChanged 事件中实现对ViewModel中的属性监听。...ViewModel>(); public ViewModel BindingContext { get { return ViewModelProperty.Value; } set...ViewModel而言会有非常多的BindableProperty需要被绑定到UI控件中,从代码的可读性而言,如下代码是非常沉长和啰嗦的: if (oldVm !...它是用来监听ViewModel中的属性值变化的,用来替换沉长的 oldVm.Property.OnValueChanged +=和-= NameValueChanged,理所应当应该放在View中,因为每个

    2.4K90

    C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码

    剩下的BindingContext和Bingding关键字,后面我们慢慢讲 接下来,我们创建一个ViewModel的类如下: public class TimeViewModel : INotifyPropertyChanged...他包含一个PropertyChanged,属性变更事件,我们需要在每个属性变更的时候(也就是Set中),调用它 在具体的开发过程中,如果你需要使用MVVM那么你所有的ViewModel都应该继承它....很多解释我都写在了注释里面,请仔细看注释 然后我们回到Xaml中的BindingContext,它的作用就一目了然了,给这个Xaml控件,绑定一个上下文对象,也就是你定义的ViewModel,来方便你绑定其中的属性...我们创建三个数值,他们与控件Slider来绑定,并控制.更新值的同时,求和.得到NumSun的值. 在界面中,我们有一个清空的Button来清除这个ViewModel中的值....然后就一一对应的在xaml中绑定了相关的属性.所有的Slider绑定中都有个Mode=TwoWay,意思就是,这个属性为双向绑定,在控件中变更它的同时,也会在ViewModel中变更.

    2K100

    Jetpack Compose中MVVM的实现及ViewModel和remember对比

    这意味着 ViewModel 中的数据会在相关联的 ViewModelStoreOwner 存在时保持状态,直到它们的生命周期结束。...数据共享: ViewModel: ViewModel 通常用于存储与界面相关的持久性数据,它可以在多个组件之间共享,比如在同一个 Activity 中的不同 Fragment 之间共享数据。...数据持久性: ViewModel: ViewModel 中的数据通常具有较长的生命周期,并且在配置更改(如屏幕旋转)时会被保留。...用法: ViewModel: 通常通过在 Activity 或 Fragment 中使用 ViewModelProvider 获取 ViewModel 实例,并在需要时观察 ViewModel 中的 LiveData...()) 这样自定义组件时使用数据的时候复用的时候就不方便,能不能让我们的ViewModel的实例在一个类中是同一个实例呢?

    2.2K11

    让页面不缓存,永远访问最新的数据

    前言:每一次请求,我们都知道浏览器会做一定处理,其中就包括对数据的缓存处理,相同参数做查询的处理,就可以让数据保存在客户端,这样可以减少对服务器的请求,但是,有时候一些特殊情况查询,是需要时时刻刻保持最新的...,就好像学过sql类似数据脏读、幻读之类的情况,我们不需要浏览器做缓存处理,这时候该怎么处理呢?...http-equiv="Cache-control" content="no-cache"> 方法二:给请求的路径中加一个随机数...a="+Math.random(); window.open(url); } 方法三:在java代码中增加如下代码。...如果是简单的功能测试用的可以直接在serevlet上写,如果是一个完整的项目,可以考虑在过滤器上加 response.setHeader("Cache-Control","no-cache"); response.setHeader

    94120

    Unity应用架构设计(4)——设计可复用的SubView和SubViewModel(Part 2)

    SubView行为多变性 在上篇文章中,我阐述了为什么要使用SubView,总结起来就3个字:『可复用』 。...委托的介入 还是以FaceBox举例,那么从上面的分析得出结论,我们需要定义委托或者事件,那应该定义在FaceBoxView呢还是FaceBoxViewModel中呢?...还是那句话,View不处理具体的业务逻辑,View将请求交给ViewModel去处理。 故在FaceBoxViewModel中增加可被外界监听的委托或者事件,我以委托举例,实际上事件就是特殊的委托。...public delegate void OnClickHandler(); public OnClickHandler OnClick; //省略部分代码 } FaceBoxView不处理具体的逻辑...= null) { BindingContext.OnClick(); } } 脑海里梳理一下请求的流程:FaceBoxView.PointClick->FaceBoxViewModel.OnClick

    72070

    Vue常见面试题汇总

    Model 层代表数据模型,也可以在 Model 中定义数据修改和操作的业务逻辑;View 代表 UI 组件,它负责将数据模型转化成 UI 展现出来,ViewModel 是一个同步 View 和 Model...主要就是 mvc 中 Controller 演变成 mvvm 中的 viewModel。mvvm 主要解决了 mvc 中大量的 DOM 操作使页面渲染性能降低,加载速度变慢,影响用户体验。...store 的计算属性虽然在组件内也可以做计算属性,但是 getters 可以在多给件之间复用如果一个状态只在一个组件内使用,是可以不用 getters vuex 的 mutation 特性是什么 action...state,只能从 rootState 按照 path 路径逐步进行访问。...美团 store 初始化时,所有配置的 action 和 mutation 以及 getters 均被封装过。

    1.5K10

    面试中Vue被问的最多的题目是哪些?

    Model 层代表数据模型,也可以在 Model 中定义数据修改和操作的业务逻辑;View 代表 UI 组件,它负责将数据模型转化成 UI 展现出来,ViewModel 是一个同步 View 和 Model...主要就是 mvc 中 Controller 演变成 mvvm 中的 viewModel。mvvm 主要解决了 mvc 中大量的 DOM 操作使页面渲染性能降低,加载速度变慢,影响用户体验。...,它就是 store 的计算属性 虽然在组件内也可以做计算属性,但是 getters 可以在多给件之间复用 如果一个状态只在一个组件内使用,是可以不用 getters vuex 的 mutation...state,只能从 rootState 按照 path 路径逐步进行访问。...美团 store 初始化时,所有配置的 action 和 mutation 以及 getters 均被封装过。

    1.7K20

    Vue经典面试题总结(含答案)

    Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View 和 Model的对象...它和其它框架(jquery)的区别是什么?哪些场景适合? mvc和mvvm其实区别并不大。都是一种设计思想。主要就是mvc中Controller演变成mvvm中的viewModel。...C、它通过mapState把全局的 state 和 getters 映射到当前组件的 computed 计算属性中 vuex的Getter特性 A、getters 可以对State进行计算操作,它就是...Store的计算属性 B、 虽然在组件内也可以做计算属性,但是getters 可以在多组件之间复用 C、 如果一个状态只在一个组件内使用,是可以不用getters vuex的Mutation特性 Action...只在当前组件中起作用 将当前组件的修改为 十一、 的作用是什么 包裹动态组件时,会缓存不活动的组件实例,主要用于保留组件状态或避免重新渲染

    2K20
    领券