首页 > 解决方案 > vuejs 在状态改变时更新所有组件

问题描述

我使用 vuex 进行状态管理。假设我有 n 个组件使用 vuex 访问数据。所有 n 个组件都在使用该状态并已绑定到视图。所以我想知道component1是否改变了状态,比如说删除一个特定的元素,我怎样才能触发n-1个组件来更新具有相关状态的视图。它可以用计算函数完成,还是有其他更有效的方法来更新具有对应状态的视图。

亲切的问候。

标签: javascriptvue.jsvue-componentvuex

解决方案


使用计算

正如您提到的,干净的方法是使用计算属性。在函数中,您可以访问this.$store.state和更改组件的行为,n+1具体取决于n.

包括行动的改变

另一种方式是您的操作只是触发 elementnn+1.

样式相关的更改

顺便提一下,当您希望组件有条件地显示或样式化时,通常在修改后的组件上设置一个类n并使用基于该类的条件样式来设置样式就足够了n+1


推荐阅读