视图控制器和恩约

ViewController and Enyo

本文关键字:控制器 视图      更新时间:2023-09-26

Enyo 2.3pre 中内置了一个新的 MVC 机制,但现在绝对有文档。

问题是如何将特定控制器绑定到我的视图?

我有一个基于enyo的新类型。控制例如,我有一个基于种类的控制器:"enyo。视图控制器',

在我的控制器中,我有一个处理程序对象,其中包含一个应该处理事件的函数。

如果我将视图属性放入控制器中,我的视图名称不起作用,因为未调用控制器中的处理程序

你能发布一些关于这个的例子吗?

所以,恩约。默认情况下,ViewController 想要渲染到 document.body,我们用它来定义 enyo。应用程序类型作为应用程序的"起点"。

Enyo 实现不一定是"纯"MVC,因为您不一定必须为每个视图(或 enyo.控制)您正在处理。 Enyo一直将一种混合视图/控制器系统融入控件本身。

话虽如此,最近对实现的更改删除了拥有您的"视图"的"控制器"的事件冒泡,因为它会导致许多不必要的开销。 事实上,我们正在从enyo中删除"控制器"块。应用程序类型作为对各种控制器的应用全局引用,相反,您将将它们放置在组件块中,这是"传统"Enyo 开发的典型特征。

因此,当前的想法是,您的视图将像以前一样处理事件,但您可以绑定到各种"控制器"和模型的属性。

现在,如果您真的愿意,您仍然可以创建 MVC 架构,但该系统足够灵活,可以支持任何"关注点分离"方法(MVC、MVP、MVVM 等)。

我目前的工作方式是创建一个"控制器"来做一些事情(比如发出 Web 服务请求),然后从我得到的数据中构建模型,将它们添加到集合中,然后我的视图可能有一个数据感知控件(例如 enyo。数据中继器或 enyo。数据列表),这将为每个模型自动生成一些行。

看看这个简单的例子:http://github.com/clinuz/college-football 但请注意,从应用范围的控制器切换到组件时,它可能不是最新的。 而且,我们正在删除 DataRepeater/List 的"控制器"属性,它将更改为"集合"。

如果您需要更多提示,请告诉我。 我们知道,在我们最终确定实施时,缺乏文档使这变得困难。 请耐心等待!

你可以看到我的例子来签出 enyo MVC 结构。https://github.com/prajnavantha/enyo-internetradio

基本上我们有一个模型、视图和控制器。模型:就我而言,是一个简单的enyo。模型种类。你可以有 enyo.collections 等...控制器:我用过恩约。模型控制器。观点:有种类:

该应用程序不完全是 MVC。因为我的逻辑仍在视图中。但是,您可以理解如何设置模型和使用组件。