結構html
規範vue
每一個頁面僅容許一組基礎佈局,這爲組件加載、交互、分層提供掛載、容器等基礎。webpack
緣由web
若是出現多套,將會影響公共組件引入的準確性和靈活性;也會影響功能的擴展等。vuex
示例:totop組件數組
從引入組件的角度上看,做爲一個基礎浮動的工具組件,不該該關注實際業務及根插銷,直接動態加載到基礎佈局當中便可。若是有多個嵌套的基礎佈局,將須要更多的代碼,來辨別其插入點,也會失去靈活性,因此從組件的角度,惟一佈局很重要。數據結構
從功能角度上看,它須要監控頁面的滾動位置,在這種佈局下,其須要監控content的位置狀況,若是出現多個基礎佈局,將影響功能的使用。異步
加載方式模塊化
a、業務組件:可根據業務需求選擇相應加載方式;工具
b、基礎組件:儘可能使用動態加載的方式,如popup、pick、loading這些浮層組件。其優點以下:
數據流
如何區分業務組件和基礎組件:以地址picker爲例。其首先是基礎的picker組件,可實現多列滾動,每次滾動都會產生一個惟一的結果數組,確認之後,返回該結果數組。該基礎picker組件能夠擴展成動態請求數據的地址picker,也能夠是固定值的多級picker,到底須要哪一種,就與業務相關。所以,地址picker,是對基礎組件picker的擴展,其包含數據流的存取過程,及數據流的交互,異步請求等。
組件升級
疊層的定義 公共組件,能夠根據給出的z-index規範,給出組件的z-index疊層id;但其取值儘可能在該組件類型疊層規範數值範圍的中間值,便於同類型業務組件的向下向上疊層處理。