问题标签 [vuex-modules]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3600 浏览

typescript - 在 router.ts 中访问 Vuex 存储模块的状态

我按照教程使用 TypeScript 设置了一个带有模块的 Vuex 商店。

到目前为止,我有:

vuex/types.ts

vuex/user-profile.ts

商店.ts

在我的router.ts 中,我想像这样访问authed商店的状态:

代码有效(应用程序正确重定向),但是,编译器抛出错误说Property 'UserProfile' does not exist on type 'RootState',这是有道理的,因为它没有定义,但它不应该在模块下查看,还是我没有正确定义模块?

0 投票
1 回答
3840 浏览

nuxt.js - Nuxt vuex 商店没有收到 axios 请求

已安装 Nuxt axios 模块并在 index.js 文件中工作,但是当我清空 index.js 文件并分离到它自己的模块文件(team.js)中时,它不起作用。

Team.js

在 Vue 开发工具中,它显示为 - 团队:对象团队:对象(空)拥有 Vuex 模块的正确方法是什么?我见过的文档和其他项目应该可以工作

0 投票
1 回答
45 浏览

vuejs2 - 后端更新保存后对象数组内的Vuex突变

我有一个对象数组。当我的 api 执行更新方法并保存时,我正在通过 laravel-echo-server 广播一个事件并尝试使用更新对象改变状态。我正在尝试实时更新。除了实际的突变之外,一切都在按计划进行。这是它的开头:

什么是理想的方法?我也可以将旧对象从数组中弹出并推送一个新对象,但这似乎很不稳定。

0 投票
1 回答
5212 浏览

javascript - 如何在 Store 中使用 Vue 插件?

是否有在 vuex 模块或纯 js 模块中使用插件的正确/记录方式?我正在使用事件总线来实现它,不确定它是否是正确/最好的方法。请帮忙。

插件1.plugin.js:

在 App.vue 中:

在 store/plain-js 模块中:

0 投票
1 回答
21053 浏览

javascript - Nuxt.js 使用 nuxtServerInit 和 Vuex 加载数据服务器端

目前我正在为一个职位空缺应用程序存储数据。对于后端我使用 Laravel,对于前端我使用 Nuxt.js 我是 Nuxt 的新手,所以我有点卡在下面的问题上。

我有一个用于创建名为 new-job.vue 的新职位空缺的页面。我还创建了一个名为 jobs.js 的商店来处理状态。

在 new-job.vue 上,我有一个表格,其中包含必须在表格开始之前在列表中呈现的数据。就像所有国家的列表等......以便我在表格中选择它们。

此时我在 new-job.vue 的导出默认值中使用 asyncData:

asyncData 方法有效,类型、平台和国家的列表被数据库中的数据填充,并且 Vuex 存储中的状态得到更新。.只有数据在客户端呈现。

我更喜欢将这些数据加载到服务器端,所以我正在查看 nuxtServerInit。只有有人可以向我解释我如何才能做到这一点。

我在 new-job.vue 的导出默认值中放置了一个异步调用:

我在 jobs.store 的突变中创建了提交,但状态没有被更新。

我做错了什么和/或我错过了什么?

或者也许是另一个问题,nuxtServerInit 是要走的路吗?还是在客户端加载这些数据列表没什么大不了的?

更新:

我为商店使用模块模式,所以我创建了一个名为 jobs.js 的商店。在这个文件中,我也尝试调用 nuxtServerInit,但没有得到任何响应。

0 投票
1 回答
2024 浏览

javascript - 从 vuex 模块中监听动作/突变

我有一个包含多个模块的 vuex 商店,我希望能够从一个模块中收听“全局”dispatch或调用(也就是动作和突变)。commit例如,在一个auth模块中有登录和注销之类的操作。每当调度这些操作时,我希望另一个模块ui也执行一些操作,例如根据登录用户设置语言。

我知道我可以ui从模块中的登录和注销操作中分派操作auth。但我宁愿让它反过来,这样ui就是监听在auth. 这样我就可以轻松地创建副作用,而无需更改“原始”vuex 模块。

也许我需要使用手表,但有些动作不会改变状态,所以我不能总是使用它们。创建插件也是一种选择,但我不想每次想创建这样的副作用时都创建一个额外的插件。

所以我的问题;在 vuex 模块中,如何监听从其他模块发送的动作/突变?

0 投票
2 回答
109 浏览

vuex - Vuex $state 从调试器正确评估,但在执行时抛出

我难住了。我制作了一个简短的视频,显示调试器正确评估了表达式,但是当它越过时,它会抛出。

它来自 vue 组件中的 getter 访问this.$store.state.Obj.value

https://youtu.be/IRQB1ZWNoGk

关于为什么它会在调试器控制台中正确评估但在跨步时抛出的任何建议?

this调试器中评估我的组件,但在跨过它时抛出。

供参考。我试图按照这种模式使 v-model 工作https://vuex.vuejs.org/guide/forms.html#two-way-computed-property

0 投票
1 回答
3290 浏览

vue.js - 具有自定义名称的 Vuex 动作、vuex 模块和 mapActions

我一直在寻找如何在模板中使用 Vuex 操作而不输入所有操作名称,这就是我的代码的样子:

我的articles.module.js 包含动作、getter 等,其中一个动作如下所示:

它以命名空间 true 导出:

在我的组件 ArticleList.vue 中,我想将该操作与 mapActions 一起使用:

这可行,但我不想在我的模板中使用 ArticleActions.remote.FETCH_ALL 的值我想要的是

所以我只需要:

代替

我们能做到吗?

0 投票
1 回答
196 浏览

vue.js - Vuex 意外更新了 2 个状态对象

我有一份公司名单。当用户单击一个列表项时,该公司在商店中设置为“selectedCompany”,并显示单项视图。为了允许用户编辑不同的部分,他可以切换到编辑模式。发生这种情况时,selectedCompany 被复制到另一个状态变量:“companyToUpdate”

我的预期行为是让用户编辑克隆版本,以便在他取消的情况下,克隆版本被破坏并且底层的实际版本不会被触及。如果他继续将编辑发送到服务器,则响应将替换当前的“selectedCompany”。

我遇到的问题是,每当我更改克隆版本时,原始版本也会在不应该更改时更改。

这是我的代码,但也许还有一种更好的方法来做到这一点......

vuex 存储模块:

我的任何突变都没有更新 selectedCompany 状态,但它确实发生了变化。PS我也在使用vuex-persistedstate ...也许会以某种方式弄乱它

0 投票
1 回答
351 浏览

javascript - 为什么getter不返回值

我有一个返回对象数组的吸气剂。问题是我需要不同组件中的过去和实际警告。

它只返回实际警告并忽略过去。但是当我删除 map 方法时,它可以正常工作。

PS我试图把这个吸气剂分成两个吸气剂