我已经读过,视图和控制器应该彼此不可见。
然后控制器如何在UI视图中侦听按钮单击?
当然,控制器需要知道addEventListeners 或的视图,UI视图需要调用控制器中的函数,或者将事件分派给控制器。
答案 0 :(得分:0)
我对MVC的唯一体验是使用robotlegs框架,所以我会在使用这个框架时尝试解释我的方法
我的视图仅使用在视图的介体中侦听的本机flash事件(MouseEvent.CLICK等)。当介体接收到本机事件时,它将调度一个特定于应用程序的事件,例如LoginEvent.LOGIN,可以映射到该事件,然后使用上下文中的命令映射来发出命令。
很抱歉,如果这没有多大意义,但基本上您的视图会触发本机事件,您的调解员将侦听这些本机事件,然后触发特定于应用程序的事件,这些事件又会运行您的命令。您可以使用中介作为视图的“耳朵”,并保留其中的任何逻辑。应用程序上下文允许您在发生特定事件时触发命令,以便分离视图和命令。