短版本:(我在vue CLI 3中使用options )
如何调用函数或在组件中执行代码(在我的例子中是resetModal()),当触发vuex存储中的某些内容时(在我的示例中,当模态数据发生变化时,AKA将设置一个新的模式)。
因此,我想在组件中调用myFunction():
methods: {
myFunction() {
something();
},
}当我店里的一个突变被称为:
mutations: {
changeValue() {
[something to call `myFunction` with];
},
}长版本:
我有一个模态组件,它在我的App.vue文件(<modal-bottom v-if="modalBottomInfo.show"></modal-bottom>)中使用,您可以看到,每当.show为真时(存储在我的存储区),它就会激活,因此可以从整个项目激活/停用。
到目前为止还不错,但问题是,每当调用一个新的模型时,我都想触发一些代码,最初我是在模态组件中使用mounted() {...}函数完成的,但是这样,如果在它的活动(.show是true)中设置了一个新的模态值,那么值确实会发生变化(因此会发生更改,但是忽略了mounted()中的函数)。
我也尝试过updated(),但是由于我的模式上有一个计数器,多姆一直在改变,所以updated()是不可靠的。
模态值只能通过我的存储中的一个突变来改变,所以如果有一种方法来触发我的函数(在相同的变异中使用在mounted()中,我的问题就解决了)。
我也考虑过使用watcher:或者将我的模态组件的整个逻辑移到vuex,但是我不想在没有更好的方法存在的情况下承诺。
发布于 2022-03-13 21:32:44
在您的vuex存储中,您将在状态中使用布尔值。当您的操作被调用时,可以修改此状态布尔值。在组件中,为此布尔值设置带有存储getter的计算属性。然后在本地使用它来显示/隐藏您的模式。
https://stackoverflow.com/questions/71458818
复制相似问题