2013-04-03 53 views
0

對於我們的單頁的應用程序,而不是有一組生活在服務器上爲.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生成的,將輸出文件的用戶後,選擇了配置選項?

或?????

感謝您的幫助!

+0

除非讓用戶創建不同的視圖/模型,否則可以通過根據不同的模型數據渲染視圖來簡單處理。然後,只是決定如何更新/存儲數據以及如何呈現數據(即CSS,標題,內容)。通常通過Durandal的網絡服務操縱數據。重點是,仍然使用*相同的視圖/模型*。因此,您是開發人員創建架構並且客戶端提供數據。否則,如果客戶設計一個全新的小部件,它將變成一個「內容管理系統」 - 這很難。 – user2246674

回答

1

durandal是幫助創建單頁面應用程序(SPA)的框架。 SPA本質上只是一個感覺像桌面應用程序的網站。

您可以創建的唯一限制是瀏覽器的限制。

您可以在瀏覽器中運行的任何東西..可以用在durandal中。

您可以在1個水療中心內放置多個水療中心。

如果您需要,您也可以動態下載css/html/js。

關於如何構建應用程序,有很多選項。

+0

我和OP有同樣的問題,這個答案沒有具體說明你將如何實現這個。你能爲我們展開這個嗎?如何讓Durandal在不更改核心框架的情況下爲用戶動態生成頁面列表和頁面內容? – Graham

0

沒有什麼能阻止你這麼做,我想。

當您在Durandal啓動時定義路線時,您可以具有靈活的路線選擇,以便您可以使用保存的視圖數據來幫助構建。但是我有一種感覺,你基本上想要一個其他迷你應用程序所在的外殼?您的視圖/小部件是否完全與主應用程序分離?如果是這樣,你可能不需要自定義路由。

我正在做類似的事情。我使用iframe來託管應用程序,用戶可以將它們移動。儘管我堅持了用戶的設計,但我沒有達到這個程度。