看mvvmlight的messager原始碼,自己實現了乙個簡單的messager類。
messager類可以在mvvm中,實現view與vm、vm與vm、view與view的通訊。
publicclass
messager
return
_messageinstance;}}
public
void register(string
key,action action)
public
void register(string key, actionaction)
public
void send(string
key)
}public
void send(string
key,t para)
}}
主要通過register方法來註冊,send方法來觸發。
比如,vm中需要顯示乙個窗體,為了不破壞mvvm模式,我們可以把顯示窗體的方法寫在view中,並註冊到messager
messager.default.register("changecontrolshow
", executechangedcontrlshow);
private
void executechangedcontrlshow(string
msg)
在vm中呼叫
messager.default.send("changecontrolshow
","test
");
send有兩個引數,第乙個是方法的key,根據這個key,可以找到唯一的方法,
第二個引數是需要呼叫的方法的引數。
這樣,你只要知道方法的key,在任何檔案中,都可以呼叫註冊的方法,不需要我們再去使用委託了。
基於JQuery的messager彈窗元件開發
昨天晚上和今天白天,主要完成了乙個彈窗元件開發,在開發的過程中發現自己的問題和整理思路,將自己的想法通過 實現並最終看到效果,是乙個很享受的過程。在本次實踐中,我學習到了以前沒有注意的小的用法和知識點。當然裡面的一些方法也是得到專案組的大神的指導才豁然開朗的,而且有些方法不熟悉,正好通過這次實踐鞏固...
MVVM的理解,及MVVM與MVC的區別
model 很簡單,就是業務邏輯相關的資料物件,通常從資料庫對映而來,我們可以說是與資料庫對應的model。view 也很簡單,就是展現出來的使用者介面。基本上,絕大多數軟體所做的工作無非就是從資料儲存中讀出資料,展現到使用者介面上,然後從使用者介面接收輸入,寫入到資料儲存裡面去。所以,對於資料儲存...
對於MVVM的理解
參考 一 mvvm 分為3個模組 1.view 2.viewmodel 3.model 關係為 二 mvvm出現的原因 傳統mvc模式中controller中做了太多的資料加工的事情,隨著軟體規模的增長,越來越不好維護。越來越不好測試。所以mvvm把資料加工的任務從controller中解放了出來。...