我有一個難題,我正在努力解決。從最佳架構實踐和可維護性的角度來看,您認為最好的方法是什么?我們有模塊 A 和模塊 B。模塊 B 具有在應用程式中重用的表單組件,特別是模塊 A。模塊 A 必須路由到模塊 B 的表單。由于無法解釋的原因,相對路由不起作用。因此,當您取消或保存表單時,它會將您帶到父 B。這適用于用戶從 B 而不是從 A 路由的情況。我們希望用戶回傳到他們之前所在的頁面。
解決方案 1:將表單組件分解為一個單獨的模塊 C。由于它是一個可重用的組件,因此它應該擁有自己的模塊。A路由到C,B路由到C,相對路徑將它們帶回來。缺點:大量代碼更改。
解決方案 2:在查詢引數中為父級傳遞變數。表單將讀取查詢引數并知道在保存或取消后路由到哪里,不必擔心相關路由。例如:www.example.com/products/product-id-1?redirectRoute=products-page
缺點:有很多鏈接可以添加查詢引數,因此也有相當多的代碼更改。我們不能在查詢引數中使用正斜杠,所以我們必須使用一個變數。此外,我們現在只有 A 和 B 使用這些表單,但是如果將來我們有模塊 D 和 F,我們需要為這個變數創建一個列舉。
解決方案 3:嘗試修復現有的相對路由。這可能是不可能的。
uj5u.com熱心網友回復:
是否需要創建相對路由?你不能在 A 中使用 /path/to/moduleB 嗎?
當我構建我的路線時,我總是根據這些路線的關系來考慮。因此,如果模塊 A 和模塊 B 中的表單以某種方式相關,也許還有另一種表單,您將如何處理它?我會使用包含這些表單的域邏輯的這個模塊 C,并且可能創建一個負責管理表單狀態的狀態/服務。為了單一職責原則,我會那樣做。
uj5u.com熱心網友回復:
最好的解決方案,也是您可以用來管理與表單及其各自組件相關的所有路由的方法是使用狀態。從操作中,您可以傳遞下一條路線或上一條路線,并將您的應用程式路由到該狀態。
此外,您應該考慮將表單放在共享模塊中,這樣可以使您的代碼更整潔,更易于其他開發人員閱讀、理解和構建
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/322908.html
上一篇:角度日期管顯示不正確的日期
