首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ngrx 4选择器不更新视图

ngrx 4是一个用于管理状态的JavaScript库,它是基于Redux模式的Angular状态管理工具。选择器是ngrx中的一个重要概念,用于从存储中选择和转换数据,以供应用程序使用。

选择器的作用是从存储中获取特定的数据,并将其转换为视图所需的形式。它们可以帮助我们避免在视图组件中直接访问存储,并提供了一种更灵活和可维护的方式来获取和处理数据。

在ngrx 4中,选择器的更新视图问题可能是由以下几个原因引起的:

  1. 选择器的实现问题:请确保选择器的实现正确,并且返回的数据是正确的。可以通过调试和单元测试来验证选择器的正确性。
  2. 存储中的数据没有更新:如果存储中的数据没有更新,选择器将返回相同的结果,导致视图不会更新。在这种情况下,需要确保在更新数据后,存储中的状态也得到了更新。
  3. 视图组件没有正确订阅选择器:确保视图组件正确订阅了选择器,并且在选择器返回的数据发生变化时,能够及时更新视图。
  4. 变更检测策略问题:Angular的变更检测策略可能会导致视图不更新。可以尝试将变更检测策略设置为OnPush,以确保只有在输入属性发生变化时才进行变更检测。

总结起来,要解决ngrx 4选择器不更新视图的问题,需要确保选择器的实现正确,并返回正确的数据;同时,存储中的数据也需要正确更新;视图组件需要正确订阅选择器,并使用正确的变更检测策略。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 第八章《视图》

    视图:视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包括数据 作为一个select语句保存在数据字典中的 通过视图,可以展现基表的部分数据,属兔数据来自定义视图的查询中使用的表 使用视图动态生成 基表:用来创建视图的表叫做基表base table 因为试图的诸多优点 如下: 1)简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。 2)安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。 3)数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。

    02

    第八章《视图》

    视图:视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包括数据 作为一个select语句保存在数据字典中的 通过视图,可以展现基表的部分数据,属兔数据来自定义视图的查询中使用的表 使用视图动态生成 基表:用来创建视图的表叫做基表base table 因为试图的诸多优点 如下: 1)简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。 2)安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。 3)数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。

    01

    前端每日一题(10.20题目+10.19答案)

    以输入框为例,当用户在输入框输入内容时,会触发 input 事件,从而更新 value。而 value 的改变同样会更新视图,这就是 vue 中的双向绑定。双向绑定的原理,其实现思路如下: 首先要对数据进行劫持监听,所以我们需要设置一个监听器 Observer,用来监听所有属性。如果属性发上变化了,就需要告诉订阅者 Watcher 看是否需要更新。 因为订阅者是有很多个,所以我们需要有一个消息订阅器 Dep 来专门收集这些订阅者,然后在监听器 Observer 和订阅者 Watcher 之间进行统一管理的。 接着,我们还需要有一个指令解析器 Compile,对每个节点元素进行扫描和解析,将相关指令对应初始化成一个订阅者 Watcher,并替换模板数据或者绑定相应的函数,此时当订阅者 Watcher 接收到相应属性的变化,就会执行对应的更新函数,从而更新视图。 因此接下去我们执行以下 3 个步骤,实现数据的双向绑定:

    02
    领券