3

因此,這裏的瘦...(我總是說話像一個30多歲的黑幫)如何組織由多個視圖使用的骨幹模型?

我有兩個型號 - 雅SEEE:公司+日期

設置
本公司型號連接到下拉列表視圖。它從服務器獲取公司列表。日期設置爲今天並附加到日期選擇器視圖。在初始化時,這些模型都通過應用程序路由器連接到它們各自的視圖。這些組成了主導航並始終存在。

問題
的問題是,這些模型+數據將被多個視圖中使用,我想有將它們傳遞給這些視圖的更清潔的方式。所以我使用了一個事件聚合器,當事件發生變化時,它會與模型一起發佈事件。但是,這對於新視圖的初始化沒有幫助,因爲模型沒有改變。

四個選項

  1. 存儲在localStorage的日期模型。當模型由新視圖初始化時檢索它。當模型由新視圖初始化時,從公司緩存中提取公司數據。

  2. 從我的應用程序路由器傳遞任何模型到每個新視圖。將模型更改綁定到視圖。

  3. 首選:使用我的事件處理系統,但找到解決新視圖初始化的工作。

  4. 扔我的手,說「SC ***它」,並在大廳對面的女士尖叫了一個小時

+0

誰在初始化您的意見,以及如何?聽起來好像你的選項2是通常的首選變體... – 2012-02-29 17:56:07

+0

應用程序路由器正在初始化視圖。隨着navview =新NavView({型號:公司}) – imrane 2012-02-29 18:30:30

+0

聽起來很好(和乾淨)給我。你爲什麼不想改變它? – 2012-02-29 18:49:56

回答

2

棒與#2 - 通過你的模型到每個視圖時,它是實例化。這是傳統的MVC架構,只要遵守這個約定就可以。典型的MVC讓每個視圖監聽存儲爲參考的模型中的事件,以便在模型更改時視圖可以自行更新。通常,模型對象在視圖構造函數中傳遞。