我現在正在學習MVC,剛剛通過控制器修改模型時,它可以通知視圖更新模型中的數據。雖然我很困惑。由於模型是由控制器而不是自己或其他東西修改的,它應該是控制器將更新通知發送到視圖。此外,我還沒有找到任何這種模型到視圖通信的例子,請給我一個清楚,如果有人理解這個想法很好。MVC中的模型到視圖通信?
2
A
回答
0
查看通信的模型通常通過Observer模式完成。視圖中的代碼往往會比模型中的代碼更改,因此模型 - 視圖分離意味着模型元素不直接依賴視圖元素。您可以添加或更改視圖代碼,並且模型代碼不受影響。
狀態改變的模型元素只是通知其所有觀察者。由於控制器或其他原因(值隨時間變化)可能會發生狀態更改。
具體見https://msdn.microsoft.com/en-us/library/ff649643.aspx如下:
0
MVC的核心組件model
捕獲應用程序在問題域方面的行爲,而與用戶界面無關。 model
直接管理應用程序的數據,邏輯和規則。 A view
可以是信息的任何輸出表示,例如圖表或圖表。 第三部分controller
接受輸入並將其轉換爲model
或view
的命令。
通常,controller
接收用戶輸入,如按鍵和鼠標點擊,並基於此修改model
。當model
更改view
需要更新以反映更改。
有幾個選項如何實施view
更新。
A)view
更新可以通過在修改model
後直接從controller
調用它來實現。有關示例,請參見here。
B)view
更新可以使用Observer模式實現。在這種情況下,每當model
發生相關更改時,model
就會在view
上觸發更新事件。有關示例,請參閱here。
相關問題
- 1. 模型視圖到模型視圖通信
- 2. 視圖模型到視圖模型通信
- 3. MVC中的視圖和模型之間的通信
- 4. ASP.NET MVC視圖模型傳遞到不同的視圖模型
- 5. Silverlight - 視圖模型之間的通信
- 6. MVC - 另一個模型視圖中的模型視圖
- 7. 通用視圖模型控件(MVC)
- 8. 通與視圖模型MVC 5
- 9. 通過模型在MVC視圖中創建到控制器
- 10. MVC中如何查看模型通信
- 11. MVC視圖模型到存儲過程
- 12. 驗證模型和視圖模型mvc
- 13. 連接MVC模型視圖和關聯的Knockout.js視圖模型
- 14. MVC Patern,視圖中的模型
- 15. asp.net MVC 3模型視圖中的
- 16. MVC視圖模型範圍
- 17. 模型視圖在MVC
- 18. MVC視圖模型冗餘
- 19. MVC視圖模型解耦
- 20. Asp.net-MVC通視圖模型,以局部視圖
- 21. AutoMapper 5.2.0視圖模型到模型問題的核心MVC
- 22. Silverlight通信/命令/事件?視圖和視圖模型之間?
- 23. 在視圖和視圖模型之間通信非UI數據
- 24. 強類型的MVC視圖模型
- 25. MVC從模型通過控制器傳遞對象到視圖
- 26. 無法從視圖控制器通信到模型
- 27. CodeIgniter如何通過Controller從模型發送信息到視圖?
- 28. AS3:遊戲中的模型和視圖通信
- 29. 模型視圖控制器框架中的通信
- 30. MVC視圖傳遞模型信息的超級鏈接
我們爲什麼需要第二個方法是什麼?我認爲這是控制器改變模型,它可以通過方式通知視圖。 –
我刪除了第二個選項以保持簡單。感謝評論@ Ivan814 – iluwatar
我認爲你沒有明白我的觀點,第二種選擇是我在這個問題上關注的。 –