2016-04-28 50 views
1

使用Spring 4和angularjs,我正在開發具有以下功能的Web應用程序:回到修改搜索結果

home.html的

  • 用戶輸入產品搜索條件並提交搜索

results.html

  • 應用程序顯示符合從服務器返回的條件的產品列表(在DIV元素中)。
  • 對於每個產品,用戶可以單擊「選擇」按鈕或「解除」按鈕,將其從DOM中移除。 「選擇」只是將產品ID添加到Javascript數組中
  • 用戶可以提交將所選產品陣列發佈到服務器的選擇。
  • 此外,在提交之前,用戶可以點擊一個產品,從而導航到一個product.html頁面,其中顯示更多的細節。

product.htmlhome.html做爲results.html被加載到包含在的index.html的NG-視圖

所有這是非常標準的funtionality並且它是爲我工作好。但是,當用戶正在查看頁面時,我需要返回到結果頁面的鏈接,其中包括(1)標準的結果,以及(2)用戶做出的任何修改,例如點擊Submit或Dismiss按鈕。基本上,它應該與用戶在新瀏覽器標籤中打開product.html完全一樣,然後關閉它以返回結果,但實際上它都發生在ng-view中。

我的直覺是,這基本上是一個典型的「購物車」,搜索結果是購物車的內容。但是,我不確定這個假設是否正確。另外,我不確定如何使用Spring和angularjs實現此功能 - 如果此功能由Spring,angularjs或兩者來管理。

我不是在尋找確切的代碼在這裏,而是在正確的方向上使用什麼方法來實現這一點。謝謝。

回答

1

一種方法是使用主控制器來存儲所有數據,將其加載到主體標籤(或更高級別的div),然後加載您在嵌套div中提到的其他html頁面。我也使用了緩存服務來實現類似的功能,但事後看來,它似乎過度殺傷。

+0

我沒有想到僅僅使用可視性。我可以有一個頁面和兩個ng-views。我最初可以隱藏產品ng-view並顯示結果ng-view。當用戶點擊某個產品時,該可見性將被顛倒。同樣,當用戶返回到搜索返回時,它又被顛倒過來。雖然可能有更好的方法,但我不確定。編輯:我看你只能有一個ng-view每個模板http://stackoverflow.com/questions/17544558/multiple-ng-view-in-single-template-angular-js –

+0

有時最簡單的解決方案是最好的答案。 :) –