在Enyo 2.3pre中构建了一个新的MVC机制,但是现在绝对有文档了。
问题是如何将特定的控制器绑定到我的视图中?
我有一种新的基于enyo.Control的控制器,例如,我有一个基于种类的控制器:'enyo.ViewController',
在我的控制器中,我有一个具有应该处理事件的函数的处理程序对象。
如果我用视图的名称将视图支柱放入控制器中,由于控制器中的处理程序没有被调用,所以它不能工作。
你能给我举几个例子吗?
发布于 2013-10-28 22:02:15
因此,默认情况下,enyo.ViewController希望renderInto document.body,我们使用它将enyo.Application类型定义为应用程序的“起点”。
Enyo实现不一定是“纯的”MVC,因为您不必为所处理的每个视图(或enyo.Control)设置适当的控制器。Enyo一直有一种混合视图/控制器系统,烘焙在控件本身。
尽管如此,最近对实现的更改将事件冒泡移至拥有您的“视图”的“控制器”,因为它导致了大量不必要的开销。事实上,我们将“控制器”块从enyo.Application类中删除,作为对各种控制器的应用全局引用,您将把它们放在一个典型的“传统”Enyo开发组件块中。
因此,当前的想法是您的视图将像以前一样处理事件,但是您可以绑定到各种“控制器”和模型的属性。
现在,如果你真的愿意的话,你仍然可以创建一个MVC架构,但是这个系统足够灵活,可以支持任何“关注点分离”的方法(MVC、MVP、MVVM等等)。
我目前的处理方法是创建一个“控制器”来做一些事情(比如做Web服务请求),然后从我返回的数据中构建模型,将它们添加到集合中,然后我的视图可能有一个数据感知控件(比如enyo.DataRepeater或enyo.DataList),它将自动为每个模型生成一些行。
看看这个简单的例子:http://github.com/clinuz/college-football,但是,它可能不是最新的从应用程序范围的控制器切换到组件。而且,我们正在删除DataRepeater/List的“控制器”属性,它将更改为“集合”。
如果你需要更多的提示,请告诉我。我们意识到,在我们最后完成实现的同时,缺乏文档使这件事变得很困难。请容忍我们!
发布于 2014-01-27 09:44:25
您可以看到我的要签出enyo MVC结构的示例。https://github.com/prajnavantha/enyo-internetradio
基本上我们有一个模型,视图和控制器。模型:在我的例子中,是一个简单的enyo.Model类。你可以拥有enyo.collections等..。控制器:我用过enyo.ModelController。意见:有以下几种:
应用程序并不完全是MVC。因为我的逻辑还在考虑之中。但是,您可以理解如何设置模型和使用组件集。
https://stackoverflow.com/questions/19633973
复制相似问题