本篇文章给大家分享的是有关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值但页面无法更新如何解决,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。