我现在正在学习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
我认为你没有明白我的观点,第二种选择是我在这个问题上关注的。 –