對於我們的單頁的應用程序,而不是有一組生活在服務器上爲.html和.js文件定義的視圖和的ViewModels動態創建SPA,我們需要建立在其中創建的意見和的ViewModels系統在「實時」。使用迪朗達爾
這將是一個內部網應用程序,我們希望最終用戶能夠定義他們所看到和他們正在使用的應用程序在應用程序中使用。例如,最終用戶A創建view1,view2和view3,而最終用戶B選擇創建view4和view5等等。然後,這些視圖會在瀏覽器會話中創建,並在下次使用該應用程序時以某種方式保存給用戶。
它們可以命名任何他們想要這些視圖(例如,儀表板1,工廠視圖2,等),然後就可以選擇一個或多個「窗口小部件」是在每個視圖。 「小部件」將是一組包含JavaScript/HTML/CSS代碼的代碼,與Web表單世界中的用戶控件類似,並且可以執行其特定功能並且可以拖動和調整大小。當然,用戶添加到每個視圖的所有小部件都將被保存以供後續使用。
所以,每次最終用戶A打開應用程序,他們會看到他們的3次橫跨頂部(名爲不管他們叫他們時,看法配置)選項卡,他們就可以導航到該查看並查看他們在每個視圖上選擇的小部件並與其進行交互。
我們的應用程序會像Trello一樣,可以通過最終用戶添加,更新,刪除等視圖,並且可以動態地將視圖添加到視圖中,移動,刪除,更新,等等,全部以動態創建的方式進行。
在研究溫泉,意見和的ViewModels被開發爲生活在其中的生產Web服務器上,並提供旨在所有用戶的功能,實際的物理文件。但是,我們的SPA需要在可用的視圖/頁面方面更具活力。
Durandal可以使用這種情況嗎?如果是這樣,關於如何建立這樣的事情的任何指導?
或者,Durandal不可能嗎?如果是這樣,我們有什麼更好的途徑?
作爲最後的手段,我們需要建立某種形式的HTML和JavaScript生成的,將輸出文件的用戶後,選擇了配置選項?
或?????
感謝您的幫助!
除非讓用戶創建不同的視圖/模型,否則可以通過根據不同的模型數據渲染視圖來簡單處理。然後,只是決定如何更新/存儲數據以及如何呈現數據(即CSS,標題,內容)。通常通過Durandal的網絡服務操縱數據。重點是,仍然使用*相同的視圖/模型*。因此,您是開發人員創建架構並且客戶端提供數據。否則,如果客戶設計一個全新的小部件,它將變成一個「內容管理系統」 - 這很難。 – user2246674