首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从vuex动作/突变触发组件函数

从vuex动作/突变触发组件函数
EN

Stack Overflow用户
提问于 2022-03-13 16:42:09
回答 1查看 618关注 0票数 1

短版本:(我在vue CLI 3中使用options )

如何调用函数或在组件中执行代码(在我的例子中是resetModal()),当触发vuex存储中的某些内容时(在我的示例中,当模态数据发生变化时,AKA将设置一个新的模式)。

因此,我想在组件中调用myFunction()

代码语言:javascript
复制
methods: {
  myFunction() {
    something();
  },
}

当我店里的一个突变被称为:

代码语言:javascript
复制
mutations: {
  changeValue() {
    [something to call `myFunction` with];
  },
}

长版本:

我有一个模态组件,它在我的App.vue文件(<modal-bottom v-if="modalBottomInfo.show"></modal-bottom>)中使用,您可以看到,每当.show为真时(存储在我的存储区),它就会激活,因此可以从整个项目激活/停用。

到目前为止还不错,但问题是,每当调用一个新的模型时,我都想触发一些代码,最初我是在模态组件中使用mounted() {...}函数完成的,但是这样,如果在它的活动(.showtrue)中设置了一个新的模态值,那么值确实会发生变化(因此会发生更改,但是忽略了mounted()中的函数)。

我也尝试过updated(),但是由于我的模式上有一个计数器,多姆一直在改变,所以updated()是不可靠的。

模态值只能通过我的存储中的一个突变来改变,所以如果有一种方法来触发我的函数(在相同的变异中使用在mounted()中,我的问题就解决了)。

我也考虑过使用watcher:或者将我的模态组件的整个逻辑移到vuex,但是我不想在没有更好的方法存在的情况下承诺。

EN

回答 1

Stack Overflow用户

发布于 2022-03-13 21:32:44

在您的vuex存储中,您将在状态中使用布尔值。当您的操作被调用时,可以修改此状态布尔值。在组件中,为此布尔值设置带有存储getter的计算属性。然后在本地使用它来显示/隐藏您的模式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71458818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档