1. 程式人生 > 其它 >頁面呼叫元件,元件重新整理問題——監聽

頁面呼叫元件,元件重新整理問題——監聽

背景分析:1、登入註冊封裝為公共元件,當呼叫登入介面後需要重新重新整理當前頁面。若單純的頁面則沒有任何問題,直接執行reload即可。
        2、若元件封裝成公共元件,並且資料也在元件中各自獲取渲染。當頁面呼叫元件時無法執行 onShow() 、reload() 生命週期(若在當前頁面獲取資料則不存在該問題,需要重新整理頁面資料時重新呼叫一次資料介面即可)。
     3、因為元件的生命週期是沒有onShow這個生命週期的,只有created、mounted等不滿足需求,只能從頁面的生命週期考慮,傳參亦是如此:onLoad獲取頁面引數,得到後再傳遞給元件,元件再進行相應操作;

     4、解決方案:監聽:在頁面裡監聽子元件何時需要重新呼叫介面資料,子元件得到訊息後再呼叫介面即可。

實現方式:

1、頁面呼叫:

onShow() {
        this.getUserInfo();
        this.Vue.isRefesh+=1;  //這裡使用this.Vue是因為js程式碼提到了頁面對應的js檔案,而不是像往常的 <template></template>  <script></script> 格式。 正常情況下直接寫成 this.isRefresh+=1;即可。
}
 

2、AddressList 元件

總結:跨元件和跨頁面的重新整理資料比較特殊,監聽是個不錯的選擇。不能單純使用過載當前頁面的方法(如下圖),因為元件是單獨的,且沒有onLoad()、onShow、onReady這些個生命週期。若是同行還有其他更好的解決辦法煩請留言告知下額,相互學習!