2017-09-23 94 views
1

假設我想創建作爲跟隨在角與規定的頁面:
1)部分中的每一個將不會以任何其他頁面
2被重新使用)如果API之一整個頁面將返回空白並顯示一條錯誤消息內容或分成部件

我應該選擇哪種方法來實現?
一個)將每個部分插入部件(每個部件上的單獨的請求),並在頁面

b)中把一切都爲單頁使用組件(與並行http請求)

或任何其它更喜歡方法?

enter image description here

+0

'每個部分都不會在任何其他頁面重複使用'假設您到達 – misha130

+0

@ misha130這是補充嗎? – stackdisplay

回答

1

由於

1)的每一個部分不會在任何其他頁面被重用
2)如果API之一 失敗,整個頁面將返回空白帶單個錯誤 消息

最好的方式做這將是

把一切都變成單頁(與並行http請求)

你避免的情況下,所有的親子組件通信的任何請求的這樣失敗,你可以在一個地方處理整個頁面的狀態。而且由於請求將以並行方式發送,因此這樣做不會影響頁面的加載時間。

注意:如果每個組件都有很多複雜的邏輯/計算,那麼仍然推薦創建幾個子組件的唯一場景。在這種情況下,最好是分割邏輯,並將它的每一塊只放在需要的地方(而不是擁有數百行代碼的頁面)。

+1

如果他們做邏輯上不同的事情,他們應該分開,不管代碼的大小如何。使用rxjs和共享服務模式通信不是一個難以解決的問題,如果一個http調用失敗,整個頁面也不會失敗。 – bryan60

+1

感謝您的評論@ bryan60。這個問題是在Ionic的背景下做出的,因此所有這些組件都是同一頁面的一部分,因此將它們包括在同一頁面上並不一定是一種壞方法。因此,由於我們處於移動應用程序(資源可能有限)的環境中,因此添加額外的服務和一些僅用於管理通信的rxjs訂閱似乎並不是執行此操作的最佳方式,如果這些組件不起作用在任何其他頁面中重用。但是,這兩種方式都可以正常工作。 – sebaferreras