解决vuex改变了state的值,但是页面没有更新的问题
当state里属性定义为obj类型时,有时候出现:在其他页面修改完state值之后,其他页面并没有同步更新。
这时候需要转换一下。JSON.parse(JSON.stringify(obj))
this.$store.dispatch("setGlobalUserInformation",JSON.parse(JSON.stringify(obj)))
补充知识:一个“错误”的vuex写法:vuex刷新了数据但是视图没有刷新
这是个很尴尬的问题,让我猜猜看你的代码是不是这样写的:
<template>
<div id="app">
<img src="./assets/logo.png">
<button @click="clickme">点击我</button>
<span>{{countnumber}}</span>
</div>
</template>
<script>
export default {
name: 'app',
data() {
return {
countnumber: this.$store.state.count,
}
},
methods: {
clickme: function() {
this.$store.commit("increment");
}
},
}
</script>
<style>
</style>
那么恭喜你,无论你怎么平明点,都会是0.但是如果你是下面这种写法,那就是正确的了:
<template>
<div id="app">
<img src="./assets/logo.png">
<button @click="clickme">点击我</button>
<span>{{$store.state.count}}</span>
</div>
</template>
<script>
export default {
name: 'app',
data() {
},
methods: {
clickme: function() {
this.$store.commit("increment");
}
},
}
</script>
<style>
</style>
区别就是你直接关联到界面里面。为什么这样?不清楚,毕竟是别人的框架。
以上这篇解决vuex改变了state的值,但是页面没有更新的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Vue无法读取HTMLCollection列表的length问题解决
这篇文章主要介绍了Vue无法读取HTMLCollection列表的length问题解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-03-03
el-form的label和表单自适应填满一行且靠左对齐方式
这篇文章主要介绍了el-form的label和表单自适应填满一行且靠左对齐方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-10-10


最新评论