Vue.js 更新vue js后组件数据未更改

Vue.js 更新vue js后组件数据未更改,vue.js,vuejs2,components,vuex,Vue.js,Vuejs2,Components,Vuex,嗨,我有这样一个场景,每次我更新一个用户,它都不会从我的用户组件更新回我的数据 现在发生的事情是在我更新用户之后。 显示正确的值,然后在毫秒后返回旧值 当我在console.log中记录this.$store.state.users;它返回到日志,第一个是更新的列表,第二个是旧列表 这是我的商店 状态:{ 用户:[], }, 行动:{ 加载用户({commit}){ axios .get('api')) 。然后(res=>{ if(res.data.success&&res.status==20

嗨,我有这样一个场景,每次我更新一个用户,它都不会从我的用户组件更新回我的数据

现在发生的事情是在我更新用户之后。 显示正确的值,然后在毫秒后返回旧值

当我在console.log中记录this.$store.state.users;它返回到日志,第一个是更新的列表,第二个是旧列表

这是我的商店

状态:{
用户:[],
},
行动:{
加载用户({commit}){
axios
.get('api'))
。然后(res=>{
if(res.data.success&&res.status==200){
提交('SET_USERS',res.data.results.USERS)
}
})
.catch(错误=>{
控制台日志(err);
})
}
},
突变:{
设置用户(状态、用户){
state.users=用户
}
}
这是我的用户。js

mounted(){
这是$store.dispatch('LOAD_USERS');
},
计算:{
用户(){
返回此。$store.state.users;
},
filterUsers:function(){//绑定到表上的变量
if(this.search!=null){
返回此.users.filter((用户)=>{
返回user.full_name.toLowerCase().match(this.search.toLowerCase())
});
}否则{
返回此。$store.state.users;
}
}
},
这是我的updateuser.js 正在进行更新的地方

created(){
this.user=this.$store.state.userDetails
this.roles=this.user.role.split(“,”);
},
方法:{
getValidationClass:函数(字段名){
const field=this.$v.user[fieldName]
如果(字段){
返回{'md invalid':字段。$invalid&&field。$dirty}
}
},
updateUser:函数(用户、角色){
这.$v.$touch()
如果(!this.$v.$invalid){
这是.$http.post('api'+user.user_id){
first\u name:user.first\u name,
姓氏:user.last\u name,
手机号码:user.mobile号码,
全名:user.first\u name+“”+user.last\u name,
});
这是.$http.post('api'+user.user_id){
角色:角色
});
这是。$router.push(“/user”)
}
},
},
当我把路由器推回到我的用户组件后,我的数据不会改变。
关于如何更新它,有什么建议吗?

你用什么来更新它。$http?另外,您是否检查了您的控制台以确保它指向正确的端点,并且没有出现故障?Hi@Rosswillson it axios实际上只是将其分配给此。$http。是的,它将到达右端点。。当我手动刷新页面时,更新将生效。您是否正在使用
保持活动状态
?还有,你有Vue开发工具吗?是的,我有Vue开发工具,关于“保持活力”,我不使用它。你能告诉我把这个放在哪里吗。我只是很熟悉,但我真的不知道如何在vuex中使用它。保持活动可能是它不更新的一个原因,但是,如果您没有实现它,则可能不是这样。您还可以确认
这个.store.dispatch('LOAD_USERS')/users
页面后,code>肯定会被调用run?