這大概是小白提升工作效率必須要弄明白的幾個(gè)問題:
什么時(shí)候模塊應(yīng)該拆成組件?
什么時(shí)候應(yīng)該將不同狀態(tài)的模塊寫在同一路由中雏蛮?
什么時(shí)候應(yīng)該將不同狀態(tài)的模塊寫在不同的路由中注益?
-
什么時(shí)候頁(yè)面模塊應(yīng)該拆成組件轿塔?
頁(yè)面模塊拆成組件是為了更好的復(fù)用重組,只要是可能第二次出現(xiàn)的頁(yè)面結(jié)構(gòu)就可以拆成組件蛾坯。
-
什么時(shí)候應(yīng)該將不同狀態(tài)的模塊寫在同一路由中光酣?
1、一個(gè)頁(yè)面在不同狀態(tài)下展示的模塊不一樣而已脉课,通過不同狀態(tài)控制不同組件的顯示挂疆,或是后面顯示的模板不需要通過按手機(jī)上的返回按鈕返回到前一個(gè)模板的時(shí)候。
什么時(shí)候應(yīng)該將不同狀態(tài)的模塊寫在不同的路由中下翎?
1、業(yè)務(wù)具有多個(gè)不同狀態(tài)宝当,不同狀態(tài)的頁(yè)面需要獨(dú)立(后一個(gè)頁(yè)面可能需要返回到前一個(gè)頁(yè)面)视事,或是需要的數(shù)據(jù)都在一個(gè)接口返回的時(shí)候(不同頁(yè)面的路由由父路由來分發(fā))
比如一個(gè)選擇題作業(yè)的需求,頁(yè)面有三個(gè)狀態(tài):做題頁(yè)庆揩,提交了答案的結(jié)果頁(yè)俐东,解析頁(yè)。前端所有需要的數(shù)據(jù)都在一個(gè)接口中獲取订晌。
不好的寫法是:在做題頁(yè)請(qǐng)求接口獲取到所有的數(shù)據(jù)虏辫,然后將數(shù)據(jù)存在localStorage中,后面的結(jié)果頁(yè)锈拨、解析頁(yè)需要數(shù)據(jù)就從localStorage或sessionStorage中獲绕鲎;這樣有很大的弊端就是緩存中存的數(shù)據(jù)存在被覆蓋的風(fēng)險(xiǎn)或退出頁(yè)面之后如果直接進(jìn)讀sessionStorage的頁(yè)面會(huì)獲取不到數(shù)據(jù)奕枢,這也是有可能的如果有一個(gè)需求是娄昆,這個(gè)頁(yè)面可以分享出去,然后用戶可以直接進(jìn)這個(gè)頁(yè)面的話缝彬。
可以滿足需求的可執(zhí)行的寫法: 三個(gè)頁(yè)面都去請(qǐng)求一次獲取數(shù)據(jù)的那個(gè)接口萌焰,這樣無論如何都可以保證可以去請(qǐng)求數(shù)據(jù)。
最好的寫法:利用vue-router中的父子路由來做
獲取數(shù)據(jù)只需要要第一個(gè)頁(yè)面去請(qǐng)求接口
未完待續(xù)...