2015-06-18 56 views
0

假設我的數據庫中有兩個表,一個用戶表和一個文件夾表。它們在我的後端java代碼中與兩個模型(bean)相匹配,並且類似於我的extjs客戶端模型。使用視圖模型架構,我想創建一個form,顯示username量文件夾的他們使用視圖模型綁定創建。數據庫中的每個文件夾都有一個CREATE_USER_ID字段,其​​中包含創建該文件夾的用戶的ID。我如何去加載所需的數據?在ExtJS中加載非模型數據的最佳實踐

回答

0

視圖模型不是爲了直接加載數據而設計的(並且不是用來加載非模型數據的)。你有兩種選擇:

  1. 去模型(推薦)。兩個子選項:
    • folder_amount字段添加到您的客戶端用戶模型。在服務器端,不一定需要添加以及您可以調整您的API饋送數據給客戶端以動態添加該字段。
    • 如果你想讓你的客戶端模型精確匹配他們的服務器的隊友,在結合使用視圖模型與協會(見例如here,向下滾動到協會)來加載自己的文件夾,但在用戶界面只顯示他們的量。請注意,您不需要加載所有文件夾字段,而只需加載其ID。
  2. 堅持自己非凡的非模式方法,但這與viewmodel綁定無關。這可能是,例如,在用戶界面中呈現用戶數據時,進行AJAX調用以檢索文件夾的數量。
+0

我的問題再一次沒有被理解。我不想加載用戶的文件夾,我想加載用戶創建的**文件夾**數量。這與協會無關。不要卡在視圖模型綁定的問題是關於加載過程。 ViewModels在我們加載所需數據之後進入,我們將如何處理它以達到我們的視角。我們是否爲視圖模型創建了一個新字段?也許是一個自定義臨時模型 – Konstantine

+0

從您的應用程序的客戶端/瀏覽器端的角度來看,用戶擁有的文件夾數*量僅僅是用戶模型中的另一個字段。就客戶端而言,將其視爲單獨的非模型數據有什麼意義?只是保持簡單。如果您不希望服務器端用戶模型在一個字段中緩存多個文件夾,則只需將您的API提供用戶數據調整到客戶端,以便動態添加'folder_amount'字段。 – Greendrake

+0

這個目標是爲了客戶端模型匹配後端模型的一致性原因。我認爲每次想要顯示組合和非引用信息時,都會向模型添加一個新字段是一種不好的做法。不是這就是爲什麼我們有觀點模型?通過綁定提供預處理信息的觀點? – Konstantine