2016-05-09 22 views
0

我們正在構建一個AngularJS應用程序。我現在正在構建一個根據其加載的URL自定義的公共表單。根據GET請求的結果定製頁面內容

例如

http://url.com.au/Registration.cshtml#?org=org1 

會看起來比

http://url.com.au/Registration.cshtml#?org=org2 

略有不同的頁面加載時我想加載一些信息與GET http://url.com.au/api/Org/org1 並使用響應驅動一些UI元素。

首先,差異會很小(標識的URL,某些複選框的值),但隨着時間的推移,表單可能會越來越動態。

什麼圖案,我應該遵循支持:

  1. 簡單的差異,
  2. 沿途更動態UI進一步?
+0

也許會使用類似https://docs.angularjs.org/api/ng/directive/ngInclude的內容,以便您可以在每個組織頁面中進行更改。您包含的頁面可以具有相同的模板 –

回答

0

對於一個簡單的解決方案,我會在該路由的路由參數中保存url更改。然後使用$routeParams訪問它。這樣你就可以輕鬆地改變你的基本GET網址。

對於簡單和動態的用戶界面,我會盡量保持ngInclude的使用達到最小(加載的文件少=加載時間更好,同時它創建了一個並不總是理想的新範圍)。

對於簡單的差異,我會構建您的html以儘可能適應兩種佈局。考慮使用ng-show/hide來根據從GET請求中檢索到的變量來觸發DOM更改。對於像圖片這樣的資產,GET請求可以返回圖片的路徑,然後您可以使用ngSrc來包含它。

進一步沿着旅程,您可能需要考慮嵌套路由。 UI-Router是一個非常受歡迎的解決方案。