npm - Vue 监听 Vuex 提交?

标签 npm vue.js vuejs2 vue-component vuex

有没有办法在不观察随提交更改的任何属性的情况下监听 Vuex 提交?只是简单地查明是否发生了提交?

我有一个过滤器组件,我想将其放入 NPM 包中,但我已经有一个用例,在该用例中,我想设置一个 cookie,以便在选择过滤器时存储过滤器首选项。

显然,过滤器组件不负责设置 cookie 等,这应该是可选的。

我想一种方法是使用全局事件总线,但这意味着使用我的包的用户必须完全按照我的需要设置一个。每当触发过滤器事件时,用户就可以执行必要的操作。

如何保持此 SRP 并作为 NPM 包进行清理,同时仍允许用户 Hook 某些事件?

有点笼统的问题,但我希望你能明白要点。

最佳答案

您可以使用商店的 subscribe 方法监听提交/变更。

API 引用:https://vuex.vuejs.org/en/api.html

Vuex 插件也适用于这个确切的用例。文档:https://vuex.vuejs.org/en/plugins.html

例子:

let vuexPlugin = (store) => {
    let whitelist = ['abc', 'def', 'ghi'];
    store.subscribe((mutation, state) => {
        if (whitelist.includes(mutation.type)) {
            // your code here
        }
    });
};

关于npm - Vue 监听 Vuex 提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45132085/

相关文章:

javascript - 在 Vuejs 组件中使用 Lodash 编写异步函数

vuejs2 - Vue.js - 元素 UI - 动态规则验证表单

node.js - 为博世物联网套件运行 Vorto Dashboard 时出错

vue.js - Ajax 调用后绑定(bind)样式

ubuntu - 我如何在 ubuntu 中安装 npm 以运行更少的 js

javascript - Vue 允许在任何地方使用组件,而不仅仅是在 #app 中

javascript - Vue.js + Chartist : Using charts in a component

javascript - Vue在生产环境DEV模式下

javascript - 与 npm install 集成

javascript - 帮助在 node.js 中需要一个 npm 模块