1.vuex可不可以用來存儲(chǔ)數(shù)據(jù)還是本身就是用來存儲(chǔ)數(shù)據(jù)的。例如 A、B2個(gè)頁面,A頁面進(jìn)行ajax請(qǐng)求,拿到的數(shù)據(jù)需要在B頁面上展示出來。我個(gè)人的做法就是將拿到的ajax數(shù)據(jù)存儲(chǔ)到state中,然后B頁面再去調(diào)用state中的數(shù)據(jù)。已經(jīng)試驗(yàn)過這種方法可行,但是不知道是否合理,或者說vuex本身就是用來做這個(gè)的。2.如何監(jiān)聽vuex中數(shù)據(jù)的變化。A頁面的按鈕控制B頁面上div的顯示,最簡(jiǎn)單的方法就是頁面A的按鈕添加@click事件,click事件提交Mutations。修改state中的某個(gè)變量為false,頁面B監(jiān)聽這個(gè)變量,如果變量改變,就將div隱藏。頁面B
export default{ data(){
ishow=true
},
computed:{
...MapState(['x'])
},
watch:{
x(){ this.ishow=this.x //或者這個(gè)樣子
this.ishow=!this.ishow
}我現(xiàn)在的實(shí)現(xiàn)還是通過監(jiān)聽引入的變量是否發(fā)生改變,如果改變就對(duì)ishow進(jìn)行改變,從而控制div的顯示隱藏。但是如果有10個(gè)頁面乃至跟更多的頁面或者組件需要監(jiān)聽x的改變。哪我每個(gè)頁面或組件都需要寫監(jiān)聽。有沒有其他方法可以實(shí)現(xiàn)state改變就能修改頁面或組件div的狀態(tài)。
添加回答
舉報(bào)
0/150
提交
取消