1.vuex可不可以用来存储数据还是本身就是用来存储数据的。
例如 A、B2个页面,A页面进行ajax请求,拿到的数据需要在B页面上展示出来。我个人的做法就是将拿到的ajax数据存储到state中,然后B页面再去调用state中的数据。已经试验过这种方法可行,但是不知道是否合理,或者说vuex本身就是用来做这个的。
2.如何监听vuex中数据的变化。
A页面的按钮控制B页面上div的显示,最简单的方法就是页面A的按钮添加@click事件,click事件提交Mutations。修改state中的某个变量为false,页面B监听这个变量,如果变量改变,就将div隐藏。页面B
export default{ data(){
ishow=true
},
computed:{
...MapState(['x'])
},
watch:{
x(){ this.ishow=this.x //或者这个样子
this.ishow=!this.ishow
}
我现在的实现还是通过监听引入的变量是否发生改变,如果改变就对ishow进行改变,从而控制div的显示隐藏。但是如果有10个页面乃至跟更多的页面或者组件需要监听x的改变。哪我每个页面或组件都需要写监听。有没有其他方法可以实现state改变就能修改页面或组件div的状态。