我的目标是提交(调用/调用)我在Vuex存储中定义的突变。
商店。js
export default {
modules: {
app: {
state: {
shouldDoThing: false,
}
mutations: {
setShouldDoThing: (state, doThing) => { state.shouldDoThing = doThing },
}
}
}
}
由于我将Vuex连接到我的应用程序,因此我可以使用此选项$百货商店在应用程序的各个组件中提交
,不会出现问题。
main.js
import Store from 'store/store.js';
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
const app = new Vue({
el: '#app-root',
store,
// ...etc
});
例如:
omponent.vue
export default {
created() {
// This works!
this.$store.commit('setShouldDoThing', true);
},
}
现在,我想从vue路由器路由文件中提交一些内容,使用beforeEnter
方法:
例如路线。js
import Store from 'store/store.js'
const someRoute = {
path: '/blah',
beforeEnter(to, from, next) {
Store.commit('setShouldDoThing', true);
next();
}
}
然而,当我尝试上述方法时,我得到了错误
TypeError: _state_store__WEBPACK_IMPORTED_MODULE_10__.default.commit is not a function
网上有很多通过导入成功使用vuex getters的例子。而且,如果我console.log()
导入Store
,我可以看到我的整个存储结构
modules:
app:
actions: {someAction: ƒ, …}
getters: {isStartingQuery: ƒ}
mutations: {ariaAnnounce: ƒ, …}
state: {…}
__proto__: Object
如何从vue路由器文件中导入存储,然后提交变异?
我已经在谷歌上搜索了很长时间,没有找到针对这个特定案例或问题的stackoverflow答案或vue论坛答案,所以下面是我测试并在我的案例中工作的解决方案。
无论出于什么原因,我都不能触发提交。然而,我可以简单地直接调用突变,然后这种变化会反映在其他组件中(例如,没有导入“不同”的存储)。
一些oute.js
import Store from 'store/store.js'
const someRoute = {
path: '/blah',
beforeEnter(to, from, next) {
Store.modules.app.mutations.setShouldDoThing(Store.modules.app.state, true);
next();
}
}
后来,在某些组件中:
一些omponent.vue
export default {
beforeMount() {
console.log(this.$store.state.app.shouldDoThing);
// true
}
}
我需要你的帮助。有一个Vue应用程序,我使用vuex商店和Vue路由器。问题是,我从API调用中获取存储数据,如果我从其他地方导航到页面,用户数据已经存储在存储中,并且在组件中,我可以使用getter接收到的数据。但是,如果我在create或mount方法中重新加载页面,则getter不包含任何数据。但如果在Vuex开发工具中查看,我可以看到fetchedd数据。如何修复此行为?
我有一个带有SSR、Vue Cli、Vuex和Typescript的Vue3项目。 在路由器页面中,我需要将数据提交到Vuex存储。在一个。vue文件我只是使用这个$在vuex中键入的存储。d、 例如: 但是如何从没有this或vue实例的ts文件(router/index.ts)中执行此操作呢。 我尝试导入存储索引文件并提交: 但我犯了个错误 类型“”上不存在属性“提交”()= 存储文件(因为我
SOP基于spring cloud,因此会涉及到网关路由。但是开发者不用去配置文件定义路由的隐射关系,SOP帮你解决了这个问题。 获取路由信息 网关启动成后会触发一个事件,代码见:com.gitee.sop.gatewaycommon.config.AbstractConfiguration.listenEvent 这个事件会取拉取微服务中提供的路由信息 下面以nacos为例,介绍拉取路由过程 1
我很难得到在商店工作的promise。 我通过一个动作调用突变,这似乎很有效。 该操作被导入到我的组件中: 然后叫: 这一切看起来都有效,但是当我检查Vue开发工具时,Vuex基本状态保持不变,并且我有一个活动突变(setPlace)。我可以点击“全部提交”来提交有效的突变。 在我的组件中,我在getter mapLocation上使用了一个监视程序,当我单击Commit All时会触发该监视程序
01-20 08:55:14.787:W/System.err(1383):at libcore.io.iobridge.open(iobridge.java:409)01-20 08:55:14.787:W/System.err(1383):at java.io.fileInputStream.(fileInputstream.java:78)01-20 08:55:14.827:W/Syste