我正在開發AngularJS 1(+ Ionic + ui-router)單頁應用程序。除此之外,該應用可以讓'CRUD'的員工和公司。AngularJS:在單獨的視圖中編輯「pick-one」字段
我很困惑於「編輯員工」頁面。此頁面顯示名字和姓氏的字段,並有一個按鈕用於選擇員工工作的公司。點擊按鈕後,會打開一個新視圖,列出所有現有公司。然後用戶可以選擇一個以將其分配給員工,然後返回到前一個屏幕(員工編輯),然後顯示(只讀)公司名稱。
我的問題是,當回到「編輯員工」視圖時,其控制器被重新加載,因此對名字和姓氏所做的更改會丟失,因爲控制器會從數據庫加載員工信息開始。
總結會發生什麼:
用戶從數據庫
編輯控制負載的員工數據打開編輯員工的觀點,並填充
用戶改變了第一的觀點名稱改爲新值(例如從'John'到'Allan')
用戶單擊「ch OOSE公司「按鈕
公司列表視圖中打開,並顯示公司名單
用戶通過作爲服務選擇一個公司在列表
所述控制器存儲它」當前公司「全局變量,並返回到編輯員工視圖
編輯控制器再次啓動,並重新從數據庫中加載數據,並用John重新填充名字。它還讀取公司全局變量以顯示其名稱。
結果改變爲「艾倫」丟失:-(
所以我的問題是:什麼是管理這種類型的編輯好的做法
而且,如果?你有更好的方式將公司從列表視圖轉移到編輯員工視圖,而不是使用全局變量,我將不勝感激。
btw,我想在開始之前不保存員工更改公司名單,因爲我想讓用戶最終完全取消他的編輯。
非常感謝您的幫助
使用選擇框讓用戶直接從編輯員工表單中選擇一個公司。 –
感謝您的回答。這實際上是我首先做的,但我想添加增量搜索,並讓用戶創建一個新公司。所以對於GUI設計的原因,我寧願有一個單獨的視圖。請提供其他建議嗎?再次感謝(順便說一句,增量搜索可以與選擇工作,但沒有好看的離子窗口小部件) – bfredo123
當離開編輯員工頁面選擇一個公司,保存其狀態(即員工對象作爲例如,在服務領域內部)。當您從公司代答頁進行打包時,請從保存在服務中的狀態中恢復狀態。不要使用全局變量來存儲公司。將其存儲在相同的服務中,或將其作爲狀態的參數傳遞。 –